We have (at the university) a dual boot computer with Intel Composer installed both on Windows 7 (composer2011 update 4) and Linux Debian 6.0.4 (same composer).
On Windows I only had Fortran installed. Last Friday I decided to install also Intel C++ composer and MinGW. The installation was successful but now all the executables compiled in Fortran run 3 times slower! I tried both recompiling and running previously compiled executables and all run 3 times slower than before. These files use openmp and mkl (so they need the respective dlls in the path). I thought it must be either something wrong with the shared libraries or windows made an automatic update that changed something or the antivirus is playing games.
I tried: -disabling antivirus -removing mingw and any occurrence of it in the path, registry or c:\\ -removing C++ composer -removing all Intel Composer and Visual Studio 2008 and reinstalling -clearing the PATH and pointing explicitly to the mkl and omp containing directories -clearing the path, installing Intel redistributable libraries (update 4) and pointing to them in the path -clearing the path, installing Intel redistributable libraries (update 9) and pointing to them in the path
All the above gave me the same results, 3x slower execution. Under Linux, the execution is the same as always, so, it's probably not a hardware problem.
Compiled programs, particularly when using threads, are affected strongly by unrelated programs running under Windows. When I suspect this, I start up task manager, and typically see 1 or 2 threads busy on unknown stuff. Then I run a spyware cleaner. Spybot S&D seems safer (less aggressive) than others. Then reboot and see if the system has quieted. As you said, your virus checker may have similar effects; ideally, it should do that only when performing a scheduled (or postponed) scan.
Thanks for the answer. I narrowed down the problem to being the dynamic libraries. Task manager showed everything to be quiet and my application was the only one that was consuming any CPU time. Tried Spybot with no luck.
I uninstalled everything and used Ccleaner to wipe every existence from the PC. I reinstalled Visual Studio 2008 and only the Fortran composer. The performance came back to the original!
Then I installed again MinGW and added the path, and again the performance was fine.
So, I ended up that maybe installing the C++ composer changed somehow the dynamic libraries? I will not reinstall it since I can use Visual Studio's C++ compiler for my needs. It looks strange though...
...So, I ended up that maybe installing the C++ composer changed somehow the dynamic libraries? I will not reinstall it since I can use Visual Studio's C++ compiler for my needs. It looks strange though...
You could useMicrosoft Dependency Walker to see differences in dependencies on DLLs for your program compiled with Intel and Microsoft C++ compilers.
Use windows debugger dump all processes look for waiting threads You must also run debugger command "runaway" in order to gain info which thread from your processe consume the largest cpu time. After finding culprit you can single-step thru the code to pinpoint the problem. While using debugger please enable option "Loader snaps" for this use gflags.exe which could be helpful to reveal dll loading failures. You may also consider to put breakpoint on dllmain function and see if it is called. Hope it helps.