Share via


OpenMP 環境變數

提供 OpenMP API 中使用的環境變數連結。

OpenMP 標準的 Visual C++ 實作包含下列環境變數。 這些環境變數會在程式啟動時讀取,並在執行時間忽略其值的修改(例如,使用 _putenv,_wputenv )。

環境變數 描述
OMP_SCHEDULE 在 或 parallel for 指示詞中 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

在 或 parallel for 指示詞中 for 指定時 schedule(runtime) ,修改 schedule 子句的行為

set OMP_SCHEDULE[=type[,size]]

參數

size
(選擇性)指定反復專案的大小。 size 必須是正整數。 預設值為 1 ,但類型 為靜態時 除外。 當類型 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