主题:openmp并行程序的问题求解
lockheed123
[专家分:0] 发布于 2011-05-19 07:08:00
现在需要用子程序A循环调用子程序B1000次,子程序B中也有大量的循环可以并行。假设计算能力是有限的,线程数也是有限的,我是该并行A、还是该并行化B,还是只要A、B中存在可以并行的地方就全部并行?OpenMP新手求各位高手解答。
回复列表 (共2个回复)
沙发
cgl_lgs [专家分:21040] 发布于 2011-05-19 08:06:00
這種情況最好不要嵌套并行,否則會很低效,一般讓外層并行。
板凳
yeg001 [专家分:14390] 发布于 2011-05-19 08:42:00
并行A的话效率应该高一些. 不过也要看具体情况.
一般并行的颗粒粗一点效率会高些,但内存等资源消耗也会多些. 最麻烦的情况是某些循环有顺序关系不能简单omp并行.
我来回复