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

libiomp5md vs libguide40 in MKL 10

rbarron
New Contributor I
357 Views

What is the difference between libiomp5md.dll and libguide40.dll in the context of MKL 10? In the User Guide, the first is described as the compatibility threading library, and the second as the legacy threading library. From the names, I guess that I should use the compatibilty library except when circumstances force me to use the legacy library. But there is no clue about what such circumstances might be.

I am interested in dynamically linking my application to an MKL"custom DLL", and I noticed that in the 10.1 beta release, libguide40 has been replaced bylibiomp5md in the builder makefile.

0 Kudos
3 Replies
TimP
Honored Contributor III
357 Views
If you intend to use the Microsoft CL OpenMP option, you must use the libiomp5 (debug version, if appropriate). If you are using objects built with Intel compilers prior to 10.1, you must use the "legacy" library, so will not be able to use CL openmp objects. If you have no particular requirements, you may use either.
0 Kudos
rbarron
New Contributor I
357 Views

Thanks, Tim.

I didn't understand what youwrote about a debug version. There is only one ia32 versionand it seems to lack debug info.

0 Kudos
Todd_R_Intel
Employee
357 Views
Use libiomp5md.dll.

The libguide40.dll will likely go away in a future version, but is still being included for convenience. The libiomop5md.dll is a compatibility library in the sense that you may link your OpenMP parallized app compiled with either an Intel compiler or with other supported compilers.

Todd
0 Kudos
Reply