次の方法で共有


omp_set_dynamic

以降の並列領域で使用できるスレッド数を実行時に調整できるようにします。

void omp_set_dynamic(
   int val
);

解説

指定項目

  • val
    以降の並列領域で使用できるスレッド数を実行時に調整できるかどうかを示す値。0 以外の値の場合、ランタイムがスレッド数を調整します。0 の場合、ランタイムはスレッド数を動的に調整しません。

解説

スレッド数は、omp_set_num_threads または OMP_NUM_THREADS によって設定されている値を超えることはできません。

omp_set_dynamic の現在の設定を表示するには、omp_get_dynamic を使用します。

omp_set_dynamic の設定は、OMP_DYNAMIC 環境変数の設定をオーバーライドします。

詳細については、「3.1.7 omp_set_dynamic 関数」を参照してください。

使用例

// omp_set_dynamic.cpp
// compile with: /openmp
#include <stdio.h>
#include <omp.h>

int main() 
{
    omp_set_dynamic(9);
    omp_set_num_threads(4);
    printf_s("%d\n", omp_get_dynamic( ));
    #pragma omp parallel
        #pragma omp master
        {
            printf_s("%d\n", omp_get_dynamic( ));
        }
}

1
1

参照

概念

OpenMP の関数