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

dll files to include with the program

bryce155
Beginner
660 Views

Dear Intel support,

I am linking my program with the Single Dynamic Library (mkl_rt.dll). Could you please let me know exactly which dlls from the redistributable folder should we inlcude with our software? Currently it fails to run unless we include all of the dlls in the program folder.

Thanks,

 

0 Kudos
6 Replies
Zhang_Z_Intel
Employee
660 Views

The Single Dynamic Library has everything you need. If you link with it then you do not need other MKL dlls. Please see the "MKL Link Line" webtool for help on linking: http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor

If this doesn't help then please share with us your compile/link line, information on your compiler, version of MKL, as well as the errors that you encountered.

Thanks.

0 Kudos
SergeyKostrov
Valued Contributor II
660 Views
>>...The Single Dynamic Library has everything you need. If you link with it then you do not need other MKL dlls... Please try to use MS Depends utility to verify it. >>...Could you please let me know exactly which dlls from the redistributable folder should we inlcude with our software? Let's consider two computer systems with different CPUs and the following DLLs are needed if, for example, SGEMM MKL function is used: [ Default ( Pentium 4 ) Processor ( Supports SSE2 ) ] mkl_rt.dll mkl_core.dll mkl_sequential.dll mkl_p4.dll [ 3rd Generation Intel Core i7 Processor ( Supports AVX ) ] mkl_rt.dll mkl_core.dll mkl_sequential.dll mkl_avx.dll
0 Kudos
Zhang_Z_Intel
Employee
660 Views

Are you talking about distributing MKL lib files that your software needs? Looks like you can create a custom dll from MKL that contains only the functions that you software uses, and then distribute the custom dll as part of your software package. To see how to build a custom dll:

http://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mkl_userguide_win/hh_goto.htm#GUID-48717119-DEB8-4010-B3CC-EC5A0CD48269.htm

0 Kudos
SergeyKostrov
Valued Contributor II
660 Views
>>... >>Could you please let me know exactly which dlls from the redistributable folder should we inlcude with our software? >>... The user is Not asking about how to build a custom DLL with MKL functions and he is asking about runtime DLLs which are used at runtime. >>...Currently it fails to run unless we include all of the dlls in the program folder. A Redist\Mkl\... folder contains lots of DLLs however only a couple of them are really needed and it depends on what MKL functions you're using on some computer with some Operating System and some CPU. I gave you a small example of runtime CPU dispatching of MKL DLLs, that is mkl_p4.dll and mkl_avx.dll. Please provide more technical details about your runtime problems.
0 Kudos
Hai
Beginner
660 Views

Hi,

I have a similar qustion. We try to release a product with Intel MKL. But there are too many DLL files (for both 32-bit and 64-bit).

1. Our customers are using different types of machines. Some of them are high-end machine. Some of them are still using one-CPU laptop.

2. We are only using FFT computation in our product.

Based on these 2 circumstances, what will be the minimum DLL files we MUST include in our installation package?

Thanks
Hai

Sergey Kostrov wrote:

>>...
>>Could you please let me know exactly which dlls from the redistributable folder should we inlcude with our software?
>>...

The user is Not asking about how to build a custom DLL with MKL functions and he is asking about runtime DLLs which are used at runtime.

>>...Currently it fails to run unless we include all of the dlls in the program folder.

A Redist\Mkl\... folder contains lots of DLLs however only a couple of them are really needed and it depends on what MKL functions you're using on some computer with some Operating System and some CPU.

I gave you a small example of runtime CPU dispatching of MKL DLLs, that is mkl_p4.dll and mkl_avx.dll. Please provide more technical details about your runtime problems.

0 Kudos
SergeyKostrov
Valued Contributor II
660 Views
This is a follow up. >>...Let's consider two computer systems with different CPUs and the following DLLs are needed...: [ Pentium 4 Processor ( SSE2 ) - Sequential processing ] mkl_rt.dll mkl_core.dll mkl_sequential.dll mkl_p4.dll [ Pentium 4 Processor ( SSE2 ) - Parallel processing ] mkl_rt.dll mkl_core.dll mkl_intel_thread.dll mkl_p4.dll [ 3rd Generation Intel Core i7 Processor ( AVX ) - Sequential processing ] mkl_rt.dll mkl_core.dll mkl_sequential.dll mkl_avx.dll [ 3rd Generation Intel Core i7 Processor ( AVX ) - Parallel processing ] mkl_rt.dll mkl_core.dll mkl_intel_thread.dll mkl_avx.dll Take into account that mkl_rt.dll and mkl_core.dll are common for all cases.
0 Kudos
Reply