경우 (OpenMP)

직렬 또는 병렬 루프 실행 여부를 지정 합니다.

if(expression)

설명

다음은 각 매개 변수에 대한 설명입니다.

  • expression
    True (0이)로 계산 되는 경우, 동시에 수행 하는 병렬 영역에는 코드에서 발생 정수 식입니다.식이 false (0)가 되 면 병렬 영역 (단일 스레드에서만) 일련의 실행 됩니다.

설명

if다음 지시문에 적용 됩니다.

자세한 내용은 2.3 병렬 구성를 참조하십시오.

예제

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

void test(int val)
{
    #pragma omp parallel if (val)
    if (omp_in_parallel())
    {
        #pragma omp single
        printf_s("val = %d, parallelized with %d threads\n",
                 val, omp_get_num_threads());
    }
    else
    {
        printf_s("val = %d, serialized\n", val);
    }
}

int main( )
{
    omp_set_num_threads(2);
    test(0);
    test(2);
}
  

참고 항목

참조

OpenMP 절