OpenMP® Forum

Discussion on the OpenMP specification run by the OpenMP ARB. OpenMP and the OpenMP logo are registered trademarks of the OpenMP Architecture Review Board in the United States and other countries. All rights reserved.

Since we are using intel MKL library we have to load INTEL's OpenMP library (libiomp5md.dll) at run time and exclude vcomp.lib at link time. But we have to compile and link with VC++ compiler. With my release 64 bit build if I run it directly, part of my code won't fully utilize the cores I specified, runs very slowly. If I attach it (release build) to the debugger without doing anything else, then it fully utilize the cores I specified. Does anybody have any ideas?

After some trial and error the issue is resolved. Part of my code is called repeatedly, in the millions, and it uses a few local std::vector of some data type of size about 100s bytes. The memory management should be very simple compared to the complexity of the computations involved. But somehow the memory management brings down the whole process.

After some trial and error the issue is resolved. Part of my code is called repeatedly, in the millions, and it uses a few local std::vector of some data type of size about 100s bytes. The memory management should be very simple compared to the complexity of the computations involved. But somehow the memory management brings down the whole process.

I think it's not rare that memory footprint strongly penalizes performance. However, could you find ay relationship among memory (vector) accesses with debug/release binary code?