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

What dll's need to be distributed with a custom MKL dll?

darrin_smithinjsci_c
536 Views

If I want to distribute a custom MKL on the Windows platform, what other DLL's also need to be distributed?

The documentation I have says "To enable use of your custom DLL in a threaded mode, distribute libiomp5md.dll along with the custom DLL.".

From my initial testing, it appears that this is not the only one needed.

I can probably figure this out through the process of elimination, but there are quite a few DLL's in the bin folder.

I'm evaluating MKL version 10.2.3.029.

Thanks,

Darrin A. Smith

0 Kudos
4 Replies
Ying_H_Intel
Employee
536 Views

Hello Darrin,

Could you please tellme more information, such as

1. which routines in the custom dll

2. which MKLlibrary you are using whenyou build the Custom dll?

3. Are you using the custom DLL tools under MKL install directory?

For example, i get a custom dll using default setting (nmake ia32 as below), which only depend on the libiomp5md.dll as the documentation said.

Regards,

Ying

0 Kudos
Ying_H_Intel
Employee
536 Views

Hello Darrin,

I just read your another post in the forum and get some information from there.

In above custom DLL builder example, itis linkingstatic library like mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib, except the libiomp5md.lib(which is import library of libiomp5md.dll). Then your custom dll don't depend on any other MKL library (except the libiomp5md.dll).

If you use the command,

link /DLL /MACHINE:IX86 /def:user.def mkl_intel_c_dll.lib mkl_intel_thread_dll.lib mkl_core_dll.lib libiomp5md.lib user32.lib /out:mkl.dll

Since "mkl_intel_c_dll.lib, mkl_intel_thread_dll.lib mkl_core_dll.lib" are dynamic interface library, your custom dll will depend on MKL dynamic library naturally.

Hope it helps,

Best Regards,

Ying

0 Kudos
darrin_smithinjsci_c
536 Views

Thanks Ying.

I didn't think of using dependency walker tool. Evidently, I need libiomp5md.dll, mkl_core.dll, and mkl_intel_thread.dll. It doesn't mention that I need mkl_intel_c.dll, perhaps because the exported functions I chose don't require that library.

Regards,

Darrin

0 Kudos
darrin_smithinjsci_c
536 Views

Wouldn't run until I also included mkl_def.dll in the application folder, even thought this wasn't listed as a dependency. I'll get this figured out eventually.

-Darrin

0 Kudos
Reply