Visual C++ 2010 & OpenMP 100% CPU Usage Problem

VisualC++ has OpenMP features that makes developers easy to use the multi-process. But, Visual C++'s OpenMP features have some traps to use that are written on below.

  • VC++'s OpenMP directive will be a cause of 100% CPU usage on VC++2008. 'nowait' directive will be needed to avoid this behavior.
  • VC++2010 has been more problematic for CPU usage. 'nowait' directive does not work on VC++2010. Programmers must direct explicit number of threads by directive.
    • CPU usage can be decreased sure by 'num_threads' directive on VC++2010.

MSDN does not describe these things explicitly. The differences exists between 2008 and 2010, so same directive never be able to use on different version of VC++.