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

Renaming libiomp5md.dll for 64 bit

crispybits
Beginner
487 Views

Hello. I want to use both the 32 and 64 bit versions from the same folder. How can I rename one of them to avoid conflict?

Alternatively, I could statically link on one platform and dynamically on the other. Is that safe given that my application will never call any method before another has finished? That is, the 64 bit process in my application has only 1 thread although 64 bit MKL may be used at the same time as 32 bit MKL. I know static linking this library is deprecated but it seems like a simple solution.

0 Kudos
3 Replies
Chao_Y_Intel
Moderator
487 Views

Hi,

For the 64 process, it has only 1 thread. Will it use MKL internally threading?  If not, linking with sequetial MKL libraries (it does not depend on the libiomp5md.dll) can resolve the problem.

If the 64 process is also using the MKL internal threading, I think one of the code can staticaly link both of the MKL libraries and OpenMP library, that will make this code does not depends on the libiomp5md.dll.

Thanks,
Chao

0 Kudos
crispybits
Beginner
487 Views

Thanks Chao

Yes, it uses MKL threading so I guess I need to use the threading library.

I'm bothered by static linking becasue of the warning in the manual. Do you know how I can confirm I'm not linking in more than one copy? Does this mean using it in more than one dll or exe of the same process?

Linking to static OpenMP* run-time library is not recommended because it is very easy with
complex software to link in more than one copy of the library. This causes performance
problems (too many threads) and may cause correctness problems if more than one copy
is initialized.

0 Kudos
SergeyKostrov
Valued Contributor II
487 Views
Hi everybody, Please continue discussion in: http://software.intel.com/en-us/forums/topic/471638 thread. This one is the duplicate. Thanks in advance.
0 Kudos
Reply