用于 Ivy Bridge 架构的 GNU Fortran 编译器优化标志

Posted

技术标签:

【中文标题】用于 Ivy Bridge 架构的 GNU Fortran 编译器优化标志【英文标题】:GNU Fortran compiler optimisation flags for Ivy Bridge architecture 【发布时间】:2017-03-03 16:32:23 【问题描述】:

请问您对 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

【问题讨论】:

【参考方案1】:

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

找到一些优势

有时-O2 -ftree-vectorize 会比-O3 工作得更好。 如果您有复杂的数据类型,您将需要检查 -fno-cx-limited-range,因为默认的 -ffast-math 可能过于激进。

【讨论】:

使用 gfortran(但不是 gcc)时,max-unroll-times=4 通常应该比 2 略好。

以上是关于用于 Ivy Bridge 架构的 GNU Fortran 编译器优化标志的主要内容,如果未能解决你的问题,请参考以下文章

Maven 或 Ivy 用于管理 Ant 的依赖关系?

编解码器架构中的bridge到底是什么

我应该在 openMP 并行区域内使用 gnu 并行模式函数吗(for-loop,tasks)

Native/Webview bridge for Hybrid

Java单体应用 - 架构模式 - 03.设计模式-07.桥接模式

Openvswitch手册: 架构,SSL, Manager, Bridge