常春藤桥体系结构的GNU Fortran编译器优化标志

常春藤桥体系结构的GNU Fortran编译器优化标志,fortran,gnu,gfortran,compiler-flags,Fortran,Gnu,Gfortran,Compiler Flags,请允许我询问您对GNU Fortran编译器(v6.3.0)标志的建议,以优化常春藤网桥体系结构(英特尔至强CPU E5-2697v2常春藤网桥@2.7 GHz)的代码 目前,我正在使用以下标志编译代码: -O3 -march=ivybridge -mtune=ivybridge -ffast-math -mavx -m64 -w 除非您使用特定于常春藤桥的内部函数,否则Sandy bridge标志os就足够了。我希望通过另外设置-funroll循环--param max unroll tim

请允许我询问您对GNU Fortran编译器(v6.3.0)标志的建议,以优化常春藤网桥体系结构(英特尔至强CPU E5-2697v2常春藤网桥@2.7 GHz)的代码

目前,我正在使用以下标志编译代码:

-O3 -march=ivybridge -mtune=ivybridge -ffast-math -mavx -m64 -w

除非您使用特定于常春藤桥的内部函数,否则Sandy bridge标志os就足够了。我希望通过另外设置
-funroll循环--param max unroll times=2

有时
-O2-ftree矢量化
-O3
效果更好。 如果您有复杂的数据类型,您需要检查与
-fno cx limited range
的对比,因为
-ffast math
的默认值可能过于激进。

对于gfortran(但不是gcc),最大展开时间=4通常会比2稍微好一些。