2
이 코드의 일부 테스트하고있다 : 몇 가지 이유를 들어루프 오류에 대한 OpenMP 감소?
float a = 0;
float b = 0;
int c = 0;
int d = 0;
#pragma omp parallel for schedule (dynamic, 1) reduction(+ : a, b, c, d)
for(i=0; i<100; i++) {
a +=1;
b +=1;
c +=1;
d +=1;
}
printf("a: %d, b: %d, c: %d, d: %d\n", a, b, c, d);
을 내 결과는 항상 :
a: 100, b: 100, c: 0, d: 202
a: 100, b: 100, c: 0, d: 202
a: 100, b: 100, c: 0, d: 202
a: 100, b: 100, c: 0, d: 202
a: 100, b: 100, c: 0, d: 202
a: 100, b: 100, c: 0, d: 202
a: 100, b: 100, c: 0, d: 202
는 이유, B, C 아닌, 100 D 모두 동일?
와우, 너무 간단, thx – Derek
아무런 문제없이 도와 드리겠습니다. –