Oracle Solaris Studio 12.2:OpenMP API 用户指南

2.2.1 常见的 OpenMP 环境变量

OMP_SCHEDULE

为指定了 RUNTIME 调度类型的 DOPARALLEL DOforparallel for 指令/pragma 设置调度类型。

如果未定义,则使用缺省值 STATICvalue"type[,chunk]"

示例:setenv OMP_SCHEDULE 'GUIDED,4'

OMP_NUM_THREADS

设置要在执行并行区域期间使用的线程数。

可以使用 num_threads 子句或通过调用 omp_set_num_threads() 来覆盖此值。

如果未设置,则使用缺省值 1。value 是一个正整数。

示例:setenv OMP_NUM_THREADS 16

OMP_DYNAMIC

启用或禁用可用于执行并行区域的线程数的动态调整。

如果未设置,则使用缺省值 TRUETRUEFALSE

示例:setenv OMP_DYNAMIC FALSE

OMP_NESTED

启用或禁用嵌套的并行性。

TRUEFALSE

缺省值为 FALSE

示例:setenv OMP_NESTED FALSE

OMP_STACKSIZE

为 OpenMP 创建的线程设置栈大小。

可以将大小指定为以千字节为单位的正整数,或者带有后缀 B、K、MG,分别表示字节、千字节、兆字节或千兆字节。

示例:setenv OMP_STACKSIZE 10M

OMP_WAIT_POLICY

设置正在等待的线程的所需策略:ACTIVEPASSIVE

ACTIVE 线程在等待时会占用处理器时间。PASSIVE 线程不会占用处理器时间,并且可能会放弃处理器或进入休眠状态。

OMP_MAX_ACTIVE_LEVELS

将嵌套活动并行区域的最大级别数设置为非负整数值。

OMP_THREAD_LIMIT

将要在整个 OpenMP 程序中使用的线程数设置为正整数。