英特尔改代码、AMD跟着受益!一行代码修改让Zen 5性能提升超12%

倚天百科 百科资讯 2

6月25日消息,英特尔软件工程师Lili Cui近日发现,对GCC编译器通用x86调优进行一行代码修改,不仅能提升自家处理器性能,也能让AMD最新架构显著受益。

该修改将通用调优表中的分支预测错误成本参数,从原有的COSTS_N_INSNS(2)上调至COSTS_N_INSNS(2)+3,使编译器在代码生成时更重视分支预测失败的性能损失。

现代CPU普遍采用更深的流水线架构以提升主频,分支预测错误会导致流水线排空,造成数十个时钟周期的性能损失,因此适当提高该参数能优化代码布局策略。

测试数据显示,这项修改在SPEC CPU 2017测试套件中,为英特尔Granite Rapids带来12.7%的性能提升,AMD Zen 5架构同样实现12.1%的性能增益。

该测试基于544.nab_r核酸构建器测试用例,这是一款分子动力学模拟相关的计算密集型基准程序,分支预测对其性能影响较为显著。

需要注意的是,该优化仅适用于依赖通用x86/x86_64调优的编译场景,对于使用-march=native等特定CPU架构优化的用户不产生额外影响。

目前这一改动已正式合并进入GCC Git主线仓库,将随明年发布的GCC 17稳定版正式推出,成为新版编译器的重要性能优化之一。