毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 嵌入式 >> 正文

Fortran代码采用openmp并行计算结果出错

更新时间:2012-7-30:  来源:毕业论文

求助:Fortran代码采用openmp并行计算结果出错
C/C++ code
    !$OMP PARALLEL DO
    DO I=2,100
        DELT(I)=RAISESTEP
        CTIME(I)=CTIME(I-1)+DELT(I-1)
        SOURCE(I)=AMP*CTIME(I)/RAISETIME
    ENDDO

请问这是什么原因呢?
我发现双核计算,第一个核计算的结果是对的,第二个计算的结果不对。
ctime的计算后面需要前面的结果,需要在什么地方家atomic呢?
求CTIME(I)这个时候用到了 CTIME(I-1),而并行的时候 CTIME(I-1)不一定已经计算出来了,所以可以用并行求前缀和的方法,加atomic也是可以的 不过加了的话很大部分都是串行的了

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。