在ifort -O2和-O3优化标志之间插值

时间:2014-07-03 22:10:49

标签: optimization segmentation-fault fortran intel-fortran

我正在尝试调试一个分段错误,当我使用带有-O3优化标志的ifort 13.1.3编译我的一个源文件时会出现这种错误。如果我对这个特定文件使用-O2而对我的其余代码使用-O3,那么一切运行正常。因此,我无法使用调试符号进行编译,因为问题就会消失。

为了尝试缩小导致这种情况的特定优化操作,我想尽可能添加一些更积极的优化 - -O3但不是-O2。从13.1.3参考:

https://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/compiler/fortran-mac/

额外的高级优化似乎包括:

  • Fusion
  • 块摊开和 - 果酱
  • 折叠IF语句

可能还有其他一些,但我不能将它们标识为从参考中排除-O3。是否有标志我可以用-O2单独打开一些这些更具侵略性的选项,或者从-O3开始关闭它们?

1 个答案:

答案 0 :(得分:1)

通常,不,没有明确的选项来启用和禁用特定的优化。有时我们添加了一些选项来禁用某些优化,当它们帮助特定的基准时,但这是不寻常的。如果您仍然需要帮助,请联系Intel support - 我们有工具来进一步缩小原因,这有时是编译器错误。但是,在此之前我会建议您首先使用较新的编译器来尝试该程序。 14.0.3是最新的。