Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
6437 Discussions

error using mkl as default blas implementation on linux

Bogdan_B_2
Beginner
590 Views

Hi,

I don't know if this makes much sense, but I tried to use update-alternatives on linux to make all the symlinks for libblas.so, libblas.so.3gf, liblapack.so and liblapack.so.3gf point to libmkl_rt.so. I was hoping that this way numpy will use the mkl implementation of blas operations without needing to recompile it. But, as it turns out, the loader is having some trouble with the multi-threading library, which I expected to be libmkl_gnu_thread.so instead of libmkl_intel_thread.so.

python -c "from numpy import zeros; a = zeros((17,17)); b = a.dot(a)"

python: symbol lookup error: /opt/intel/mkl/lib/intel64/libmkl_intel_thread.so: undefined symbol: omp_get_num_procs

I am using mkl 11.0 update 5, which I upgraded from mkl 11.0 update 2, which didn't work either. Everything is on 64bits. I also noticed that for matrices smaller than (17, 17) ther error doesn't occur.

Thanks,

Bogdan 

0 Kudos
6 Replies
SergeyKostrov
Valued Contributor II
590 Views
>>.../intel/mkl/lib/intel64/libmkl_intel_thread.so: undefined symbol: omp_get_num_procs It is defined in these libraries: libiomp5md libiomp5mt libiompprof5md libiompprof5mt libiompstubs5md libiompstubs5mt
Bogdan_B_2
Beginner
590 Views

Shouldn't one of the appropriate libraries be loaded by libmkl_rt.so?

Gennady_F_Intel
Moderator
590 Views

yes, it will load libiomp via dlopen == > you need to add <composer_xe_install_path>\compiler/lib/intel64\ to your systems paths.

Bogdan_B_2
Beginner
590 Views

Thanks a lot. I got it fixed by adding the path to loader's search paths in /etc/ld.so.conf.d

SergeyKostrov
Valued Contributor II
590 Views
>>...Shouldn't one of the appropriate libraries be loaded by libmkl_rt.so? I checked dependencies and the answer is Yes. However, if a search path is Not defined ( this is what you had and fixed already ) then the loader will fail to load that module. Thanks for the update.
SergeyKostrov
Valued Contributor II
590 Views
>>>>...Shouldn't one of the appropriate libraries be loaded by libmkl_rt.so? >> >>I checked dependencies and the answer is Yes. I was talking about libiomp5m? modules.
Reply