为什么Fortran90的程序在ifort 和gfortran两种编译器下结果不同

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
ttsunpku
帖子: 3
注册时间: 2010-06-29 9:57

为什么Fortran90的程序在ifort 和gfortran两种编译器下结果不同

#1

帖子 ttsunpku » 2010-06-29 10:14

情况非常诡异,同一个fortran 90的程序,在同一个服务器上运行,当编译器选为gfortran 时,运行结构是正确的,当编译器选为ifort时,也可以编译运行,但运行结构是错误的。但是,更为奇怪的是,当我选择ifort编译器时,在程序的某一个子程序(A子程序)中加入一个输出语句,不管输出什么,只要有这个输出语句,最终的运行结构都是对的。我是通过比较在服务器(Linux系统)和在我电脑(windows系统)运行结果种某些物理量,逐步上推并比较上一步的物理量,输出结果一直不同,直到在A子程序中加入一个输出语句,两个结果就相同了。

希望高手能给我帮助,这个问题困惑我好久了。 :em02
ttsunpku
帖子: 3
注册时间: 2010-06-29 9:57

Re: 为什么Fortran90的程序在ifort 和gfortran两种编译器下结果不同

#2

帖子 ttsunpku » 2010-06-29 11:34

各位大侠,帮帮忙
头像
tenzu
论坛版主
帖子: 36924
注册时间: 2008-11-21 20:26

Re: 为什么Fortran90的程序在ifort 和gfortran两种编译器下结果不同

#3

帖子 tenzu » 2010-06-29 11:35

不懂,只能帮顶
ryoohki
帖子: 3249
注册时间: 2008-10-28 20:18

Re: 为什么Fortran90的程序在ifort 和gfortran两种编译器下结果不同

#4

帖子 ryoohki » 2010-06-29 11:40

编译环境呢?
ttsunpku
帖子: 3
注册时间: 2010-06-29 9:57

Re: 为什么Fortran90的程序在ifort 和gfortran两种编译器下结果不同

#5

帖子 ttsunpku » 2010-06-29 13:57

服务器上是Linux编译环境
头像
poweroff
帖子: 395
注册时间: 2008-12-13 15:03

Re: 为什么Fortran90的程序在ifort 和gfortran两种编译器下结果不同

#6

帖子 poweroff » 2010-06-29 14:04

你得看看ifort得手册了。

估计和优化编译有关,
一条狗的马甲!
对不起,我承认我是一只穿着马甲的狗!
patrickguo
帖子: 1
注册时间: 2010-06-28 6:45

Re: 为什么Fortran90的程序在ifort 和gfortran两种编译器下结果不同

#7

帖子 patrickguo » 2010-07-06 12:45

我也遇到过这样的问题
仔细检查下数组有没有溢出,子程序调用的参数表是否正确。ifort编译和运行时一般不检查这些的
ch06
帖子: 11
注册时间: 2011-10-02 9:58

Re: 为什么Fortran90的程序在ifort 和gfortran两种编译器下结果不同

#8

帖子 ch06 » 2011-10-14 9:29

我也曾经遇到过一样的问题,一直没解决,后来只有加一条输出语句!

这条输出语句还是调试时,偶然发现对结果有影响。
回复