jomp和openmp中的非并行化循环

时间:2013-05-16 19:34:51

标签: java loops parallel-processing openmp

我有一个下一个循环

for(int i=1;i<n;i++){
a[i]=(a[i]+a[i-1])/2;
}
显然,这个循环不可并行化 因为每个元素的结果取决于之前的元素 无论如何 我试图将它与JOMP(openmp)并行化

//omp parallel shared(a)
{
//omp for 
for(int i=1;i<n;i++){
a[i]=(a[i]+a[i-1])/2;
}}}

它给了我一个正确的结果(这让我发疯) 为什么它给了我与系列代码相同的结果 任何人都可以给我一个合乎逻辑的解释

0 个答案:

没有答案