저는 OpenMP를 처음 사용하기 때문에 구성을위한 병렬 프로그램을 사용하여 작은 프로그램을 작성하려고했습니다. 내 프로그램의 결과를 이해하는 데 어려움이 있습니다. 스레드 번호 3이 1과 2 전에 출력을 인쇄하는 이유를 이해할 수 없습니다. 누군가가 설명을 제공 할 수 있습니까?"for"루프 용 OpenMP 출력
따라서, 프로그램은 :
#pragma omp parallel for
for (i = 0; i < 7; i++) {
printf("We are in thread number %d and are printing %d\n",
omp_get_thread_num(), i);
}
출력은 :
We are in thread number 0 and are printing 0
We are in thread number 0 and are printing 1
We are in thread number 3 and are printing 6
We are in thread number 1 and are printing 2
We are in thread number 1 and are printing 3
We are in thread number 2 and are printing 4
We are in thread number 2 and are printing 5
내 프로세서 코어 4와 인텔 (R) 코어 (TM) i5-2410M CPU이다.
감사합니다.