以文本方式查看主题

-  Fortran中文网  (http://fortran.cn/bbs/index.asp)
--  Fortran语言开发经验交流  (http://fortran.cn/bbs/list.asp?boardid=3)
----  [求助]【求助】运算fortran的问题,怀疑是不是MPI communication的时候出现问题  (http://fortran.cn/bbs/dispbbs.asp?boardid=3&id=2857)

--  作者:eugene
--  发布时间:2013/5/4 15:26:21

--  [求助]【求助】运算fortran的问题,怀疑是不是MPI communication的时候出现问题
1. The program code is parallelizedand executed on a high performance computer cluster using 4 processors(by Intel Fortran compiler in Linux systems with OpenMPI)

接下来简单介绍一下程序:

1)        main.f90 是主程序,主要是调用其他程序

2)        主要的计算程序在thermodynamics.f90, tool.f90 and solver.f90

3)        Mpi.f90是communication between processes

4)        Ghostnode.f90是边界条件

5)        Input.f90主要是从input file里读取数据,output.f90就是输出计算结果,inti.f90主要是allocate数组

6)        Global.f90是定义的全局变量

现在我怀疑是不是MPI communication的时候出现问题,因为NaN的值出现在第一个processor的边界上,而且这个程序在自己的电脑(windows)下串行运行是OK的但是当我在超级计算机上必行运算时,程序就不行,然后我用DDT debug,发现在这里出现问题,如下图,然后我进一步check,发现变量xp有四个值是NaN, xp被计算用subroutineconvert_composition(ix,iy)。

2,By the way, 如果要运行这个程序的话需要:

Intel fotransompiler, intelmkl and open MPI.

3.source code 在src  file里, input file 里是需要读入的数据,结果会写在results file里。Makefile是用来compile code的。run.sh是PBS file.

程序在这里:http://pan.baidu.com/share/link?shareid=433689&uk=3305225013

十分感谢!

备注:问题也在这儿  http://emuch.net/bbs/viewthread.php?tid=5846918

[此贴子已经被作者于2013-5-4 15:28:08编辑过]


京ICP备05056801号