主题:各位高手,恳请大家帮我想想办法,这个问题困扰我很久了。
170501123
[专家分:0] 发布于 2010-10-07 21:25:00
毕业在即,将要写毕业论文,有一个程序是基于MPI并行平台的Fortran程序,原来是在32位机上运行的,所使用的是compaq Fortran+MPI,编译通过,并且结果正确。现在换到64位机上,所使用的系统是windows server2003,安装的是Intel Fortran+MPI,编译也能通过,但结果却不对!也不知道哪出问题了,恳请各位高手帮帮我,不胜感激!!!
回复列表 (共21个回复)
11 楼
cgl_lgs [专家分:21040] 发布于 2010-10-08 22:53:00
應該不是MPI的問題,應該是您程序里原本有未初始化的東西,或是有不夠規范的東西,導致IVF編譯后無法正常使用。
12 楼
170501123 [专家分:0] 发布于 2010-10-09 16:27:00
在IVF里编译通过了,结果有问题呢!
13 楼
dongyuanxun [专家分:7180] 发布于 2010-10-09 17:18:00
[quote]在IVF里编译通过了,结果有问题呢![/quote]
编译通过不等于逻辑正确
14 楼
cgl_lgs [专家分:21040] 发布于 2010-10-09 17:31:00
沒有初始化也能編譯通過;
MODULE變量沒有設置SAVE屬性也能編譯通過;
用了COMMON塊,但存在對齊問題還是能編譯通過。
……
以上這些列舉的問題都是可以“編譯通過”的,但運行時卻有可能導致各種錯誤!
15 楼
170501123 [专家分:0] 发布于 2010-10-09 18:10:00
那就是说Intel Fortran和compaq Fortran还是有很大差别的了?
16 楼
aliouying [专家分:1150] 发布于 2010-10-09 22:30:00
命名规则不一致,使用的MPI库是有区别的,MPICH吧? MPICH_FOR_WIN 提供好几个接口的库。
17 楼
yeg001 [专家分:14390] 发布于 2010-10-10 00:16:00
[quote]那就是说Intel Fortran和compaq Fortran还是有很大差别的了?[/quote]
个人经验, 很可能是你的代码有问题.
18 楼
170501123 [专家分:0] 发布于 2010-10-10 09:57:00
我装的是MPICH-2,支持64位的!
19 楼
cgl_lgs [专家分:21040] 发布于 2010-10-10 15:15:00
基本就是看看編譯時的WARNING,將WARNING都解決掉,再有就是運行時分段輸出中間結果,找到癥結所在。
這樣慢慢改就基本能改出來了。
20 楼
170501123 [专家分:0] 发布于 2010-10-10 17:12:00
编译时没有Warning出现啊!通过了,结果与预期的不一样!
我来回复