Sun Studio 12 Update 1:OpenMP API 用户指南

3.8 环境变量

变量名称 

实现 

OMP_SCHEDULE

如果为 OMP_SCHEDULE 指定的调度类型不是有效类型(staticdynamicguidedauto)之一,则将忽略该环境变量,并将使用缺省调度(static(不指定块大小))。如果将 SUNW_MP_WARN 设置为 TRUE,或者通过调用 sunw_mp_register_warn() 注册回调函数,则将发出警告消息。

如果为 OMP_SCHEDULE 环境变量指定的调度类型为 staticdynamicguided,但是指定的块大小为负整数,则使用的块大小将如下:对于 static,将不使用块大小;对于 dynamicguided,块大小将为 1。如果将 SUNW_MP_WARN 设置为 TRUE,或者通过调用 sunw_mp_register_warn() 注册回调函数,则将发出警告消息。

OMP_NUM_THREADS

如果变量的值不是正整数,则将会忽略该环境变量,并且如果将 SUNW_MP_WARN 设置为 TRUE,或者通过调用 sunw_mp_register_warn() 注册回调函数,则将发出警告消息。

如果变量的值大于该实现可支持的线程数,则将执行以下操作:  

-如果启用了线程数的动态调整,则线程数将会减少,并且如果将 SUNW_MP_WARN 设置为 TRUE,或者通过调用 sunw_mp_register_warn() 注册回调函数,则将发出警告消息。

-另一方面,如果禁用了线程数的动态调整,则将发出错误消息,并且程序将会停止。 

OMP_DYNAMIC

如果为 OMP_DYNAMIC 指定的值既不是 TRUE 也不是 FALSE,则将忽略该值,并将使用缺省值 TRUE。如果将 SUNW_MP_WARN 设置为 TRUE,或者通过调用 sunw_mp_register_warn() 注册回调函数,则将发出警告消息。

OMP_NESTED

如果为 OMP_NESTED 指定的值既不是 TRUE 也不是 FALSE,则将忽略该值,并将使用缺省值 FALSE。如果将 SUNW_MP_WARN 设置为 TRUE,或者通过调用 sunw_mp_register_warn() 注册回调函数,则将发出警告消息。

OMP_STACKSIZE

如果为 OMP_STACKSIZE 提供的值不符合指定格式,则将忽略该值,并将使用缺省值(对于 32 位应用程序为 4 MB,对于 64 位应用程序为 8 MB)。如果将 SUNW_MP_WARN 设置为 TRUE,或者通过调用 sunw_mp_register_warn() 注册回调函数,则将发出警告消息。

OMP_WAIT_POLICY

线程的 ACTIVE 行为是旋转。线程的 PASSIVE 行为是经过一段可能的旋转之后休眠

OMP_MAX_ACTIVE_LEVELS

如果为 OMP_MAX_ACTIVE_LEVELS 指定的值不是非负整数,则将忽略该值,并将使用缺省值 (4)。如果将 SUNW_MP_WARN 设置为 TRUE,或者通过调用 sunw_mp_register_warn() 注册回调函数,则将发出警告消息。

OMP_THREAD_LIMIT

如果为 OMP_THREAD_LIMIT 指定的值不是正整数,则将忽略该值,并将使用缺省值 (1024)。如果将 SUNW_MP_WARN 设置为 TRUE,或者通过调用 sunw_mp_register_warn() 注册回调函数,则将发出警告消息。