I am using IntelMKL in my project. I use 'PARDISO' API from IntelMKL.For parallel processing, I have made changes in the project settings as follows,
"Configuration Properties => Intel Performance Libraries" 1)UseIntelMKL => Parallel and 2)UseILP64Interfaces => Yes
It is desirable that my project DLL should not have any external DLL dependency because of our internal unavoidable reasons (i.e. we want complete static linking). So for static linking, I have switched the compiler to "/MT" to use static multi-threaded runtime libs. Still my project DLL shows dependency on OpenMP DLL "libiomp5md.dll".
Please let me know which functions from libiomp5md.dll are referred in my project even though we just call 'PARDISO' function? Please guide me to link statically to 'libiomp5md.lib / libiomp5mt.lib'.
Thank you for all your help.
It is true that the libiomp5md.dll is still in static library. You may know MKL is threaded by OpenMP library, so all threaded functions in MKL will use the libiomp5md.ll. I recalled, there are formal explanation in previous edition of Intel Compiler documentation about why to remove the static OpenMP.
Note: The static OpenMP library is removed in Intel Parallel Studio 2011.