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

MKL - which dependencies to include in the distribution package?

techwinder
Beginner
1,239 Views

Hi everyone,

Is there a systematic way to determine which libraries to include in an application's distribution package?

Up to now, I have been proceeding by trial and error, adding the libs when a user complains that they are missing on his system. For instance for win64, the end result is a package which includes

libiomp5md.dll
mkl_avx2.dll
mkl_core.dll
mkl_def.dll
mkl_intel_thread.dll
mkl_mc3.dll
mkl_sequential.dll

The app itself uses such functions as LAPACKE_dgetrs, _sgetrs, _dgetrf, _sgetrf, _dgesv, _dgels etc.

Sometimes a library seems to be missing for one user but not for another. This happens for instance on macOS.

Couldn't find relevant documentation about this, so any help will be greatly appreciated.

Thanks.

0 Kudos
3 Replies
Gennady_F_Intel
Moderator
1,239 Views

By the design, the recommended way to have all mkl's dll installed on your system. That will allow users to have the optimizations for all supported hardware. In the case of static linking, you need to copy threading libraries ( libiomp and/or tbb).

0 Kudos
LRaim
New Contributor I
1,239 Views

Where it is possible to find information from Intel about the functions provided by the listed mkl dll; 
i.e libiomp5md.dll, mkl_avx2.dll, mkl_core.dll, mkl_def.dll, mkl_intel_thread.dll, mkl_mc3.dll, mkl_sequential.dll.

Regards

0 Kudos
MariaZh
Employee
1,239 Views

Hi,

I believe if you're trying to save some space and sure about the set of the functions being used in an application, this topic will be useful -- Building Custom Dynamic-link Libraries.

Other then that (customDLL builder) it is not recommended to alter the installation and there is no common rule for doing so.

Best regards,
Maria

0 Kudos
Reply