Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Kiklopokots_P_
Beginner
183 Views

32-bit set of MKL 2017.1 is not work under 32-bit Windows

Under 32-bit Windows applications linked with DLL-library from 32-bit set of MKL 2017.1 were aborted with the error message:
"The procedure entry point InterlockedCompareExchange64 could not to be located in the dynamic link library KERNEL32.dll".
But under 64-bit Windows these applications works correctly.

However, this DLL-library is truly 32-bit: it was identical with images from the pack
\ww_mkl_core_ia32_p_17.0.1.143\data1.cab
and has magic word 10B in execution header.

 

0 Kudos
8 Replies
Gennady_F_Intel
Moderator
183 Views

Thanks for the issue, Kiklopokots. Could you help us reproduce the problem on our side?  Are there any reproducer which will show the problem?

Kiklopokots_P_
Beginner
183 Views

The error occurs when the first call to any function MKL. In my case it was mkl_get_max_threads () - purely informational function without arguments. But in its place could be any other, for example, MKL_Get_Version (& ver).

I repeat that under 64-bit Windows no errors occur at MKL performs a very complex job, while at 32-bit Windows occurs emergency exit. I suspect that this is due to the fact that MKL tries to call a kernel's 64-bit function InterlockedCompareExchange64 instead 32-bit function InterlockedCompareExchange. This call exists within mkl_core.dll. The previous version MKL 2017.0 worked flawlessly even on Windows XP (32-bit).

LuisGT
Beginner
183 Views

I've a similar problem: I can't compile a Win32 version of my program (in MS Studio 2010). In x64 there is no problem. In previous versions of MKL there is no problem, (x64 nor x32)

The error message is:

"Error 1 error MSB3073: El comando "mkl_link_tool.exe -libs -c ms_c -a ia-32 -l static 2>NUL 1>"C:\Users\lgt\AppData\Local\Temp\tmp92D9.tmp"" salió con el código 1. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets\v100\ImportBefore\Intel.Libs.MKL.v100.targets 55"

The problem is this line of "Intel.Libs.MKL.v100.targets":

"<_MKLArgPlatform>ia-32</_MKLArgPlatform>​"

The correct one

"<_MKLArgPlatform>ia32</_MKLArgPlatform>​"

How can I solve it? I don't know how I can Access this variable value!


 

 

 

LuisGT
Beginner
183 Views

I´ve solved temporaly this error modifying the file "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets\v100\ImportBefore​\Intel.Libs.MKL.v100.targets", but this isn't a good thing!

With this solution, I can run my 32 bits aplication in Windows Vista (32 bits) or Windows 10 (64 bits), but NOT in Windows XP 32 bits (with the same error message of first post in this topic)

 

mecej4
Black Belt
183 Views

For the current version of Parallel Studio, your system must be 64-bit. You may be able to get some parts to work even on a 32-bit system, but please read https://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/702763#comment-1890226 . The latest version of Parallel Studio for a 32-bit system is 2016 Update 4.

Similarly, there are some special steps that you have to take to deploy applications developed with Parallel Studio on a Windows XP system. You can find details by searching in the IDZ forums.

Kiklopokots_P_
Beginner
183 Views

LuisGT wrote:

I´ve solved temporaly this error modifying the file "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets\v100\ImportBefore\Intel.Libs.MKL.v100.targets", but this isn't a good thing!

Thank you very much! Although the method you suggested is bad, you have helped me to locate the bug: MKL-library is not to blame, blame the compiler's library libiomp5md.dll.
After I switched libiomp5md.dll to its version from MKL 11.3.3, the bug disappeared.

Kiklopokots_P_
Beginner
183 Views

mecej4 wrote:
For the current version of Parallel Studio, your system must be 64-bit.

We are not talking about the installation of the Parallel Studio and her health, but about the performance created with the help 32-bit applications. If such applications will only run on 64-bit Windows, then why do they need?

LuisGT
Beginner
183 Views

Kiklopokots P. wrote:

MKL-library is not to blame, blame the compiler's library libiomp5md.dll.
After I switched libiomp5md.dll to its version from MKL 11.3.3, the bug disappeared.

Yes! with that dll my program runs fine also in Win XP 32 bits!

 

Reply