Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.
1696 Discussions

Compiler option "Enable parallelization" causing exceptions on Atom N550

Robby_S
New Contributor I
367 Views

I'm porting a legacy code to the Intel Atom N550. I'm using the Intel C/C++ compiler v11.1.067 embedded in the Microsoft Visual Studio 2008 on Asus EeePC, which has a 1.5GHz N550 and Windows 7 Starter (32-bit). I believe that Atom has 2 cores, and is capable of running 4 threads in parallel. When I turn on the compiler option for parallelization, the code builds successfully, but gives me run-time exceptions with the following error message:

"C:\\Program Files\\Common Files\\Intel\\Shared Files\\cpp\\bin\\Intel64\\libiomp5md.dll is either not designed to run on Windows or it contains an error. Try installing the program again ..."

If I turn off the parallelization option, the code builds and runs successfully. When I run the code, I can see that the CPU usage is 25% ~ 29%. The task manager shows 4 CPU Usage History windows, assumedly one for each thread. Only one window shows near 100% usage; the rest 3 windows show close to 0% CPU activity.

I wonder why the code can not be paralleled? Is it because I have a 32-bit OS? Please help me understand this behavior.

Thanks,
-Robby
0 Kudos
3 Replies
TimP
Honored Contributor III
367 Views
If you have 32-bit OS installed, you must choose the ia32 version of Intel C++. This will make a build consistent with \bin\ia32\libiomp5md.dll, which is supported on 32-bit Windows.
If your code runs correctly without parallelization, you must be using the correct (ia32) compiler, so it seems you have incorrectly over-ridden the PATH for run-time choice of .dll. Make sure you don't have X64 enabled anywhere in the Visual Studio setup and don't add any \intel64\ folders to the search paths.
Further questions might better be asked on the C++ forum.
0 Kudos
Robby_S
New Contributor I
367 Views
Thanks. Indeed I had Intel64 in my PATH. Now the code runs with 'parallelization' enabled, though no significant performance improvement is observed over the non-parallelized version. But that's another story.
One more question: is it possible to run 64-bit OS on Atom N550, and build my code for the 64-bit OS?
Thanks again,
-Robby
0 Kudos
TimP
Honored Contributor III
367 Views
Yes, references indicate Atom has full Intel64 support in hardware. I suppose a reason that 64-bit OS installation hasn't become the normal default is that Atom configurations may often have too little RAM to make the 64-bit OS worth while.
0 Kudos
Reply