OpenMP 环境变量
提供指向 OpenMP API 中使用的环境变量的链接。
OpenMP 标准的 Visual C++ 实现包括以下环境变量。 这些环境变量在程序启动时读取,并在运行时忽略对其值的修改(例如,使用 _putenv、_wputenv)。
环境变量 | 说明 |
---|---|
OMP_SCHEDULE | 修改在 for 或 parallel for 指令中指定 schedule(runtime) 时 schedule 子句的行为。 |
OMP_NUM_THREADS | 设置并行区域中的最大线程数,除非被 omp_set_num_threads 或 num_threads 重写。 |
OMP_DYNAMIC | 指定 OpenMP 运行时是否可以调整并行区域中的线程数。 |
OMP_NESTED | 指定是否启用嵌套并行度,除非通过 omp_set_nested 启用或禁用了嵌套并行度。 |
OMP_DYNAMIC
指定 OpenMP 运行时是否可以调整并行区域中的线程数。
set OMP_DYNAMIC[=TRUE | =FALSE]
备注
OMP_DYNAMIC
环境变量可由 omp_set_dynamic 函数重写。
OpenMP 标准的 Visual C++ 实现中的默认值为 OMP_DYNAMIC=FALSE
。
有关详细信息,请参阅 4.3 OMP_DYNAMIC。
示例
以下命令将 OMP_DYNAMIC
环境变量设置为 TRUE:
set OMP_DYNAMIC=TRUE
以下命令显示 OMP_DYNAMIC
环境变量的当前设置:
set OMP_DYNAMIC
OMP_NESTED
指定是否启用嵌套并行度,除非通过 omp_set_nested
启用或禁用了嵌套并行度。
set OMP_NESTED[=TRUE | =FALSE]
备注
OMP_NESTED
环境变量可由 omp_set_nested 函数重写。
OpenMP 标准的 Visual C++ 实现中的默认值为 OMP_NESTED=FALSE
。
有关详细信息,请参阅 4.4 OMP_NESTED。
示例
以下命令将 OMP_NESTED
环境变量设置为 TRUE:
set OMP_NESTED=TRUE
以下命令显示 OMP_NESTED
环境变量的当前设置:
set OMP_NESTED
OMP_NUM_THREADS
设置并行区域中的最大线程数,除非被 omp_set_num_threads 或 num_threads 重写。
set OMP_NUM_THREADS[=num]
参数
num
并行区域中所需的最大线程数,在 Visual C++ 实现中最多为 64 个。
备注
OMP_NUM_THREADS
环境变量可由 omp_set_num_threads 函数或 num_threads 重写。
OpenMP 标准的 Visual C++ 实现中的 num
默认值是虚拟处理器数,包括超线程 CPU。
有关详细信息,请参阅 4.2 OMP_NUM_THREADS。
示例
以下命令将 OMP_NUM_THREADS
环境变量设置为 16
:
set OMP_NUM_THREADS=16
以下命令显示 OMP_NUM_THREADS
环境变量的当前设置:
set OMP_NUM_THREADS
OMP_SCHEDULE
修改在 for
或 parallel for
指令中指定 schedule(runtime)
时 schedule 子句的行为。
set OMP_SCHEDULE[=type[,size]]
参数
size
(可选)指定迭代的大小。 大小必须是正整数。 默认值为 1
,类型为静态时除外。 type 为 runtime
时无效。
type
计划类型,可以是 dynamic
、guided
、runtime
、或 static
。
备注
OpenMP 标准的 Visual C++ 实现中的默认值为 OMP_SCHEDULE=static,0
。
有关详细信息,请参阅 4.1 OMP_SCHEDULE。
示例
以下命令设置 OMP_SCHEDULE
环境变量:
set OMP_SCHEDULE="guided,2"
以下命令显示 OMP_SCHEDULE
环境变量的当前设置:
set OMP_SCHEDULE