【发布时间】:2018-04-11 17:50:22
【问题描述】:
假设我有以下功能:
void fun (){
#pragma omp parallel private(i, x, d0, d1)
{
#pragma omp for
for (i = 0; i < n; i++) {
d0 = calc_dist();
d1 = calc_dist();
x = ((d0 < d1) ? 0 : 1);
buffer1[i] = x;
#pragma omp atomic update
group_size[x] += 1;
}
}
}
我想知道访问 buffer1 buffer1[i] = x 是否仍然是私有的,因为 i 和 x 在 pragma 部分中被设置为私有变量?如果没有,是否可以允许缓冲区访问私有?
【问题讨论】:
标签: c parallel-processing openmp