- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We have python extension depending on the MKL. On attempt to update dependency to version 2021.2.0 we found that linker is not able to find mkl_rt library under Linux and Mac. On Windows everything is fiine.
It appeared, that in the recent MKL package only the files with ".so.1" suffix present (on Mac: ".1.dylib"). In the previous versions of the package there were also copies of these files with ".so" (".dylib") suffixes. The recent version works fine for runtime, but there's a a problem with the gcc (ld) linker: it looks for "mkl_rt.so" ("mkl_rt.dylib") exactly. Adding symbolic link with
ln -s mkl_rt.so.1 mkl_rt.so
to the package folder solves the problem. However, this requires additional steps on building in isolated environments and, in particular, requires changes in the building or CI scripts.
Is there more efficient way to make MKL visible to gcc/ld linker, than creating these symbolic links with building scripts? And what was the reason to change the naming scheme for shared libraries (besides disk space saving)?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We have confirmed with the developers that the oneMKL devel package (mkl-devel) for PIP distribution on Linux and macOS does not provide dynamic libraries symlinks.
In the case of dynamic or single dynamic library linking with oneMKL devel package you must modify link line with oneMKL libraries full names and versions.
Example command for single dynamic library:
g++ mkl_sample.o /opt/intel/oneapi/mkl/latest/lib/intel64/libmkl_rt.so.1 -lpthread -lm -ldl
For more information:
https://software.intel.com/content/www/us/en/develop/documentation/get-started-with-mkl-for-dpcpp/top.html ( Refer to the step 1)
https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl/link-line-advisor.html ( Link Line Advisor)
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Please check the following path to find the required .so files :"/opt/intel/oneapi/mkl/2021.2.0/lib/intel64"
We were able to see the .so file as shown in the attached picture.
If you have not found the required files, try re-installing the oneAPI base toolkit and let us know if you face the same issue.
Regards
Rajesh.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I has been writing about the package on PyPi.org, see https://pypi.org/project/mkl/#files
This is what we have as python dependency.
Content of mkl-2021.2.0-py2.py3-none-manylinux1_x86_64.whl
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We have to use the automatic MKL installation as a python dependency from PyPi in our package for our own setup and automatic continuous intergration tests. I just want to note, that the naming scheme changes in the recent PyPi package since the previous version breaks existing setup and CI scripts. Of course we are able to fix the scripts to adopt the new naming approach, but all other "MKL from PyPi" users will have to do that as well. And this unexpected change takes time and efforts to figure out and fix.
Regards, Dmitry (dvp)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks for letting us know. We are working on this internally and will get back to you.
Regards
Rajesh.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We have confirmed with the developers that the oneMKL devel package (mkl-devel) for PIP distribution on Linux and macOS does not provide dynamic libraries symlinks.
In the case of dynamic or single dynamic library linking with oneMKL devel package you must modify link line with oneMKL libraries full names and versions.
Example command for single dynamic library:
g++ mkl_sample.o /opt/intel/oneapi/mkl/latest/lib/intel64/libmkl_rt.so.1 -lpthread -lm -ldl
For more information:
https://software.intel.com/content/www/us/en/develop/documentation/get-started-with-mkl-for-dpcpp/top.html ( Refer to the step 1)
https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl/link-line-advisor.html ( Link Line Advisor)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks for accepting as a Solution
As this issue has been resolved, we will no longer respond to this thread. If you require any additional assistance from Intel, please start a new thread. Any further interaction in this thread will be considered community only.
Have a Good day.
Regards
Rajesh.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page