none
OMP_WAIT_POLICY environment variable undocumented, and wanting kmp_set_defaults/kmp_set_blocktime RRS feed

  • Question

  • The Microsoft C++ OpenMP library (vcomp*.dll) actually responds to the OMP_WAIT_POLICY environment variable [1].  This is currently undocumented [2], although there is a Microsoft knowledge base article suggesting its use [3].  Please document this.  I would also be interested in setting the default value of this variable programmatically, like how the Intel compiler supports kmp_set_defaults/kmp_set_blocktime functions for doing this [4], but I don't see a way to do that with the Microsoft C++ compiler.  (I find that under heavy system load--i.e. OMP_NUM_THREADS exceeding the actual number of CPU threads being unutilized--the busy waits from OMP_WAIT_POLICY=ACTIVE (default policy) can interfere with OS scheduling of threads that have real work to do.)

    [1] http://www.openmp.org/mp-documents/spec30.pdf
    [2] http://msdn.microsoft.com/en-us/library/6sfk977f.aspx
    [3] http://support.microsoft.com/kb/2689322/en-us
    [4] https://software.intel.com/sites/products/documentation/studio/composer/en-us/2011Update/compiler_c/optaps/common/optaps_par_exrt.htm
    Friday, July 11, 2014 4:34 AM