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.