中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

编译器调优

原理

选择针对鲲鹏920架构优化的编译器,目前最新版本为GCC 9.1.0和GCC 9.2.1,其他备选的编译器包括GCC 7/8系列。

使用方法

GNU编译器可选的主要优化参数如表1所示。
表1 可选的主要优化参数

参数

说明

-O3和-O2

少部分应用功能在-O2时性能更好。

-march=armv8.2-a -mtune=tsv110

GNU 9可通过-march=armv8.2-a -mtune=tsv110指定鲲鹏920架构进行优化。

-ftree-vectorize

-O3时默认启用。

-finline-functions

启动函数内联,-O3是默认启用。

-flto

启用Link Time Optimization优化,编译和链接参数都需使用。

-ffast-math

启用不安全的数学操作,数学函数优化,不建议生产环境使用。

-Ofast

最高性能优化,仅用于benchmark,不建议生产环境编译使用。

-fprofile-generate, -fprofile-use=

Profile-guided optimization,通过编译一次,运行一次(生成运行信息),再编译一次(使用运行信息优化应用的性能)。可优化的点包括:Function inlining, Block ordering, Register allocation, branch prediction,使用时需要在编译参数和链接参数都应用。