1
ここで、条件を満たす場合はすべてのスレッドでカウント変数をインクリメントしたいのですが、クリティカルブロックにカウント変数を囲む以外の方法がありますcount []を配列として使用していますか?OpenMPでインクリメント演算子を並列に使用するにはどうすればよいですか?
マルココメントパー#pragma omp parallel for num_threads(number_of_threads)
{
int id = omp_get_thread_num();
for(i=1; i < ht; i++) {
for(j=1; j < wd; j++) {
// Some random code
double mag = sqrt(a[i] * a[i] + b[j] * b[j]);
if(mag > 100) {
#pragma omp critical
{
count++;
}
} else {
// do nothing
}
}
}
}
あなたはおそらくOpenMPの 'reduce'変数を探しています。 –