请问您对GNU Fortran编译器(v6.3.0)标志的建议,以优化Ivy Bridge架构的代码(Intel Xeon CPU E5-2697v2 Ivy Bridge @ 2.7 GHz)?
目前我正在使用以下标志编译代码:
-O3 -march=ivybridge -mtune=ivybridge -ffast-math -mavx -m64 -w
答案 0 :(得分:2)
除非你使用特定于Ivy桥的内在函数,否则Sandy bridge flag就足够了。我希望您应该通过另外设置-funroll-loops --param max-unroll-times=2
有时-O2 -ftree-vectorize
会比-O3
更好。
如果您有复杂的数据类型,则需要与-fno-cx-limited-range
进行核对,因为-ffast-math
的默认值可能过于激进。