| 查看: 563 | 回复: 1 | |||
[交流]
【求助】VC++ 9.0 中的一段并行程序,与串行结果不符 已有1人参与
|
|
用的visual studio 2008中的并行功能尝试了一下并行计算,可算,但是结果和串行计算不符,不晓得原因何在。。。大家帮忙看看啊,谢谢了 程序的大体构架如下: do { for(k=0;k<=z0;k++) { OnWendu(k); //////////////////////////////调用该函数,见下 ...... ...... } } while(...); OnWendu(int k) /////////调用 { #pragma omp parallel for ////////////////////////在此加了循环并行语句,头文件等其他地方也已添加代码 for(j=0;j<=yy;j++) { for(i=0;i<=xx;i++) { if (i==xK && j==0) { ...... } else if (i==xJ && j==0) { ...... } else if (i==xJ && j==yA) { ........ } ...... ...... ///////////////////////此处均为else if 语句代码 else { ; } //////////for循环里面我觉得是可以进行并行计算的,不存在数据相关 } } } 以上即是程序的大体结构,但计算结果不仅时间不减反增,结果也与串行计算结果不符。不晓得错在哪里? 从资料上看,#pragma omp parallel for已经包含了隐式栅障,多个线程执行完for循环后才往下执行,应该同步了啊? if里是导热微分方程,只与上一时刻的数据有关,每一次for循环都是这次同一时刻的,应该没有依赖性,可以并行的啊。。。 |
» 猜你喜欢
青椒八年已不青,大家都被折磨成啥样了?
已经有14人回复
多组分精馏求助
已经有3人回复
交叉科学部支持青年基金,对三无青椒是个机会吗?
已经有6人回复
免疫学博士有名额,速联系
已经有4人回复
国家基金申请书模板内插入图片不可调整大小?
已经有6人回复
国家级人才课题组招收2026年入学博士
已经有5人回复
Fe3O4@SiO2合成
已经有6人回复
青年基金C终止
已经有4人回复
26申博求博导推荐-遥感图像处理方向
已经有4人回复
西南交通大学国家级人才团队2026年博士研究生招生(考核制)—机械、材料、力学方向
已经有3人回复


2楼2010-08-03 19:57:48













回复此楼
