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覆寫。
Visual C++ OpenMP 標準實作中的 預設值 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
排程的類型,可以是 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