프로그램 실행이 omp sections
지시문에 도달하면 다음 omp section
지시문으로 정의 된 프로그램 세그먼트가 사용 가능한 스레드간에 병렬 실행되도록 배포됩니다.원래 스레드는`omp section` 지시어에 의해 정의 된 프로그램 세그먼트 중 하나를 실행합니까?
원래 스레드
omp sections
의omp section
지시문에 의해 정의 된 프로그램 세그먼트들 중 하나를 실행하는 스레드들 중 하나에 도달하기 전에 실행 즉, 스레드는?omp section
지시어로 정의 된 프로그램 세그먼트를 모두 실행 한 후에 원래 스레드 만 존재하고 계속 실행됩니까?
다음 예제에서 어떤 스레드가 원래 스레드입니까, 1 또는 2입니까?
#pragma omp sections
{
# pragma omp section
{ printf("thread 1 here\n"); }
# pragma omp section
{ printf("thread 2 here\n"); }
}
감사합니다.
감사합니다. 현재 스레드의 스레드 ID 번호를 어떻게 얻습니까? – Ben
'omp_get_thread_num()' – Zulan
마스터가 섹션 중 하나를 실행하도록 "장려"하기 위해 비틀기위한 OpenMP 노브가 있습니까? 마스터가 병렬 블록의 끝에 조인을 수행하므로 작업 스레드가 각 섹션을 실행할 수 있도록 마스터 스레드가 일시 중단되고 (자발적으로 CPU 슬라이스를 버리는 것) 최적이 아닙니다. – igaz