Hi,
I am trying to use the parallel version of sgemm, but no matter how many threads I set to use, the program runs on one core only (on a 12-core westmere). Can anyone help me?
I am using Intel Compiler 11.1.073, and my makefile is:
icc -o blassgemm blassgemm.c -openmp -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_lapack -lmkl_core -liomp5 -lpthread
I set the number of threads using mkl_set_num_threads.
Thanks,
Jacky
链接已复制
5 回复数
If you leave MKL_DYNAMIC unset, MKL will be limited to 1 thread per core, as this normally gives best performance. If your problem isn't large enough to use all cores, MKL would automatically choose a smaller number. When you call omp_set_num_threads or mkl_set_num_threads in your program, that over-rides the environment variable.