回 帖 发 新 帖 刷新版面

主题:各位高手,恳请大家帮我想想办法,这个问题困扰我很久了。

毕业在即,将要写毕业论文,有一个程序是基于MPI并行平台的Fortran程序,原来是在32位机上运行的,所使用的是compaq Fortran+MPI,编译通过,并且结果正确。现在换到64位机上,所使用的系统是windows server2003,安装的是Intel Fortran+MPI,编译也能通过,但结果却不对!也不知道哪出问题了,恳请各位高手帮帮我,不胜感激!!!

回复列表 (共21个回复)

11 楼

應該不是MPI的問題,應該是您程序里原本有未初始化的東西,或是有不夠規范的東西,導致IVF編譯后無法正常使用。

12 楼

在IVF里编译通过了,结果有问题呢!

13 楼

[quote]在IVF里编译通过了,结果有问题呢![/quote]
编译通过不等于逻辑正确

14 楼

沒有初始化也能編譯通過;
MODULE變量沒有設置SAVE屬性也能編譯通過;
用了COMMON塊,但存在對齊問題還是能編譯通過。
……

以上這些列舉的問題都是可以“編譯通過”的,但運行時卻有可能導致各種錯誤!

15 楼

那就是说Intel Fortran和compaq Fortran还是有很大差别的了?

16 楼

命名规则不一致,使用的MPI库是有区别的,MPICH吧? MPICH_FOR_WIN  提供好几个接口的库。

17 楼

[quote]那就是说Intel Fortran和compaq Fortran还是有很大差别的了?[/quote]
个人经验, 很可能是你的代码有问题.

18 楼

我装的是MPICH-2,支持64位的!

19 楼

基本就是看看編譯時的WARNING,將WARNING都解決掉,再有就是運行時分段輸出中間結果,找到癥結所在。
這樣慢慢改就基本能改出來了。

20 楼

编译时没有Warning出现啊!通过了,结果与预期的不一样!

我来回复

您尚未登录,请登录后再回复。点此登录或注册