openmp+fortran,为什么串行和并行结果不同,怎么修改?其中c1是已经存在的矩阵,c2初始化为0

!$ompparalleldoreduction(+:c2)doi=1,5doj=1,6c=c1(i,j)c2(i,j)=c2(i,j)+cenddoenddo!$omp... !$omp parallel do reduction(+:c2)
do i=1,5
do j=1,6
c=c1(i,j)
c2(i,j)=c2(i,j)+c
enddo
enddo
!$omp end parallel do
展开
 我来答
把盏饮寂寞
2013-09-27 · TA获得超过405个赞
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:83.4万
展开全部
没看懂你要实现什么功能?只是想把c1加到c2上的话,去掉reduction,私有化j就行,如下:
!$omp parallel do private(j)
do i=1,5
do j=1,6
c2(i,j)=c2(i,j)+c1(i,j)
enddo
enddo
!$omp end parallel do
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式