Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

DGEMM runs single-threaded

styc
Beginner
510 Views
I am running a x86-64 Gentoo machine. I managed to install ifort+mkl 11.0.083 following the silent installation guide. Then comes the problem. DGEMM runs in a single thread. And it only works if linked with "-lmkl_em64t"; if linked with "-lmkl", it dies with the message:

MKL FATAL ERROR: /homes/ysitu/intel/Compiler/11.0/083/mkl/lib/em64t/libmkl_def.so: undefined symbol: mkl_dft_commit_descriptor_s_c2c_md_omp

Even simplest programs fail. The same thing did not occur with mkl 10.0, the release I previously used.

Any hints for solving the problem? Thanks.
0 Kudos
4 Replies
Gennady_F_Intel
Moderator
510 Views
at the first sight it's the linking problem; what's your linking line?
--Gennady

0 Kudos
styc
Beginner
510 Views
at the first sight it's the linking problem; what's your linking line?
--Gennady

I simply wrote "-lmkl -openmp". The program runs if compiled with "-lmkl_em64t -openmp". But it just does not use all four cores of a Q6600.
0 Kudos
Gennady_F_Intel
Moderator
510 Views

The linking line for the version you are usingmust be:
"-Wl,--start-group $MKLPATH/libmkl_intel_ilp64.a $MKLPATH/libmkl_intel_thread.a $MKLPATH/libmkl_core.a -Wl,--end-group -liomp5 -lpthread" for static and treading modes.
Please look into mkl's userguide for more information about the right linking your application (chapter 5 ).
--Gennady

0 Kudos
styc
Beginner
510 Views

The linking line for the version you are usingmust be:
"-Wl,--start-group $MKLPATH/libmkl_intel_ilp64.a $MKLPATH/libmkl_intel_thread.a $MKLPATH/libmkl_core.a -Wl,--end-group -liomp5 -lpthread" for static and treading modes.
Please look into mkl's userguide for more information about the right linking your application (chapter 5 ).
--Gennady

I managed to figure out that it was the SPIKE solver that caused the problem. spikevarsem64t.sh overrides the link path and sets MKL_NUM_THREADS=1. That explains everything.

Thanks anyway.
0 Kudos
Reply