Compiler 11.0 OpenMP programs exhibit high core usage

With the initial release of the Compiler Pro 11.0 on Windows, Linux, and Mac OS X, you may see that OpenMP-enabled programs consume nearly all processing cycles on all available cores, even though you know that not all threads should be busy 100% of the time. 

Further, setting OpenMP environment variable KMP_BLOCKTIME=0, or calling kmp_set_blocktime(0) has no effect, i.e., it appears that threads never sleep (KMP_BLOCKTIME is the time that a thread should wait, after completing the execution of a parallel region, before sleeping).

This issue has been resolved in the 1st update of the 11.0 compilers, which are:

Windows:  w_cproc_p_11.0.066 and w_cprof_p_11.0.066

Linux:  l_cproc_p_11.0.074 and l_cprof_p_11.0.074

Mac OS X:  m_cproc_p_11.0.056 and m_cprof_p_11.0.056

如需更全面地了解编译器优化,请参阅优化注意事项