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.
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.
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