永发信息网

一个函数内部对MPI初始化和结束,主程序需要多次调用这个函数,这就造成MPI重复初始化和结束,怎么改?

答案:2  悬赏:20  手机版
解决时间 2021-02-19 04:19
  • 提问者网友:自食苦果
  • 2021-02-18 09:37
比如子程序:
SUBROUTINE A()
MPI_INIT(ierr)
...
MPI_FINALIZE(ierr)
END
在主程序里面:
PROGRAM B
CALL A()
...
串行部分
...
CALL A()
...
END
这样不就造成MPI重复初始化和结束了么?如果在主程序里面对MPI初始化,那么串行部分不就也并行了么,求大神指教啊!
最佳答案
  • 五星知识达人网友:毛毛
  • 2021-02-18 09:45
方法一:
将program A分解成两个工程文件进行运行。
方法二:
在串行部分,不对并行部分产生的文件或者数据进行处理。
全部回答
  • 1楼网友:詩光轨車
  • 2021-02-18 11:10
搜一下:一个函数内部对MPI初始化和结束,主程序需要多次调用这个函数,这就造成MPI重复初始化和结束,怎么改?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯