reduction sharti. Bu shart xavfsiz global hisoblash imkonini beradi.
Belgilangan operatorga muvofiq ( + operatori uchun 0) parallel boʻlimga
kirganda, har bir sanab oʻtilgan oʻzgaruvchining xususiy nusxasi ishga
tushiriladi. Parallel qismdan chiqib ketganda, hosil boʻlgan qiymat
qisman hisoblangan qiymatlardan hisoblanadi va asosiy potokga
uzatiladi.
#pragma omp parallel { #pragma for shared(x) private(i) reduction(+:sum) for(i=0; i<10000; i++) sum += x[i]; } #pragma omp parallel { #pragma for shared(x) private(i) reduction(min:gsum) for(i=0; i<10000; i++) gmin = min(gmin, x[i]); }
Quyidagi operatorlar va agregat funksiyalari mavjud:
C / C++ da
+,-,*,&,^,|,&&,||
min, max