OpenMP 环境变量

提供指向 OpenMP API 中使用的环境变量的链接。

OpenMP 标准的 Visual C++ 实现包括以下环境变量。 这些环境变量在程序启动时读取,并在运行时忽略对其值的修改(例如,使用 _putenv、_wputenv)。

环境变量 说明
OMP_SCHEDULE 修改在 forparallel for 指令中指定 schedule(runtime)schedule 子句的行为。
OMP_NUM_THREADS 设置并行区域中的最大线程数,除非被 omp_set_num_threadsnum_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_threadsnum_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

修改在 forparallel for 指令中指定 schedule(runtime)schedule 子句的行为。

set OMP_SCHEDULE[=type[,size]]

参数

size
(可选)指定迭代的大小。 大小必须是正整数。 默认值为 1,类型为静态时除外。 type 为 runtime 时无效

type
计划类型,可以是 dynamicguidedruntime、或 static

备注

OpenMP 标准的 Visual C++ 实现中的默认值为 OMP_SCHEDULE=static,0

有关详细信息,请参阅 4.1 OMP_SCHEDULE

示例

以下命令设置 OMP_SCHEDULE 环境变量:

set OMP_SCHEDULE="guided,2"

以下命令显示 OMP_SCHEDULE 环境变量的当前设置:

set OMP_SCHEDULE