int main()
{
int a=0;
omp_set_num_threads(2);
#pragma omp parallel reduction(+ : a)
{
a = omp_get_thread_num()+1;
}
std::cout << "Output:" << a;
return 1;
}
我使用 OpenMP reduction 得到错误的输出... 对于以下代码,reduction(+) 给出 threadnum() 的和作为输出结果,但是当我使用 reduction (-) 时,它给出相同的输出结果... 我得到的输出结果为 "+" 和 "-" 都是 3。