Fortran Coder

标题: Fortran 串行代码改并行代码 [打印本页]

作者: 杰杰家的任    时间: 2021-12-30 16:52
标题: Fortran 串行代码改并行代码
求助,将下面一段串行代码改为并行代码要怎么操作?NP=2,DIR3(NP*2)已知
[Fortran] 纯文本查看 复制代码
do ii=1,NP*2
        DIR2=DIR3(ii)
        print*,"DIR2=",DIR2
          i= CHDIR(DIR2)
        i=system("./cesm1.exe >> cesm.log.$LID 2>&1")
enddo
怎么下手呢?我用的是linux的intelmpi 编译器。
求指导,有重谢。



作者: fcode    时间: 2021-12-30 20:48
你这个代码,没有什么并行的必要。并不能起到你想要的作用。
作者: 杰杰家的任    时间: 2021-12-31 15:31
fcode 发表于 2021-12-30 20:48
你这个代码,没有什么并行的必要。并不能起到你想要的作用。

你好,请问下,不能用np*2个线程计算吗,因为每次循环的任务是独立的
作者: vvt    时间: 2021-12-31 15:54
i=system("./cesm1.exe >> cesm.log.$LID 2>&1")

你这种直接启动cesm1.exe 就可以了。操作系统都是多进程的。

多进程(或多线程)和并行是两回事。




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2