杰杰家的任 发表于 2021-12-30 16:52:31

Fortran 串行代码改并行代码

求助,将下面一段串行代码改为并行代码要怎么操作?NP=2,DIR3(NP*2)已知
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:25

你这个代码,没有什么并行的必要。并不能起到你想要的作用。

杰杰家的任 发表于 2021-12-31 15:31:47

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

你好,请问下,不能用np*2个线程计算吗,因为每次循环的任务是独立的

vvt 发表于 2021-12-31 15:54:10

i=system("./cesm1.exe >> cesm.log.$LID 2>&1")

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

多进程(或多线程)和并行是两回事。
页: [1]
查看完整版本: Fortran 串行代码改并行代码