Very slow when run outside of Visual Studio

General OpenMP discussion

Very slow when run outside of Visual Studio

Postby isaac » Wed Jun 05, 2013 7:14 am

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?

We are using Visual Studio 2010.
isaac
 
Posts: 2
Joined: Tue Jun 04, 2013 2:50 pm

Re: Very slow when run outside of Visual Studio

Postby JimCownie » Thu Jun 06, 2013 8:50 am

This forum is not the ideal place to ask for support for Intel products. Therefore please re-post your question on the Intel Developer Zone MKL forum at http://software.intel.com/en-us/forums/intel-math-kernel-library
If you could also add more information like
    Version of MKL
    Version of Windows
    Whether you are using OpenMP outside MKL
    Processor being used
    Environment variable settings
you will likely get an answer sooner.
(Just think what information you'd need if someone asked you to solve the problem :-), and give it up front)
JimCownie
 
Posts: 1
Joined: Thu Jun 06, 2013 6:06 am

Re: Very slow when run outside of Visual Studio

Postby isaac » Mon Feb 03, 2014 3:01 pm

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.
isaac
 
Posts: 2
Joined: Tue Jun 04, 2013 2:50 pm

Re: Very slow when run outside of Visual Studio

Postby ftinetti » Tue Feb 04, 2014 4:02 am

Hi isaac,

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?

Fernando.
ftinetti
 
Posts: 582
Joined: Wed Feb 10, 2010 2:44 pm


Return to Using OpenMP

Who is online

Users browsing this forum: Google [Bot], Yahoo [Bot] and 10 guests