标签: compiler-optimization gfortran
我正在评估计算电磁建模程序,它使用C和Fortran来实现Longley-Rice传播模型。在没有优化的情况下编译时,我得到一组数值结果。当使用-O2开关来实现一些基本的性能改进时,一些结果会在没有优化的情况下略微改变结果。
无论是否明确设置-fno-unsafe-math-optimizations开关都是这种情况(尽管它是GNU编译器的默认设置)
任何人都知道什么可能导致基本优化导致数学错误,因为他们应该严格遵守IEEE FP规则?