赖庆宽 吕 方 贺春林 何先波 冯晓兵,3
1(计算机体系结构国家重点实验室(中国科学院计算技术研究所) 北京 100190) 2(中国科学院计算技术研究所 北京 100190) 3(中国科学院大学 北京 100049) 4(西华师范大学计算机学院 四川南充 637009)
(laiqingkuan@outlook.com)
编译器性能优化是计算机系统结构优势得以充分发挥的基础,是关乎整个系统功能与性能的重要环节.编译器优化的实质是“取众人之长,补己之短”.一款高性能编译器需要汲取其他诸多编译器的长处,它的优化契机和提升空间也往往源于对同期编译器的优势挖掘.但是,面对众多同期编译器设计,选择哪些作为参照物分析才能攫取更多收益是编译器优化分析最为关注的问题.

Fig. 1 Interference with compiler performance by different platforms (processors)图1 不同平台(处理器)对编译器性能的干扰作用
编译器性能直接受平台影响,因此,对它们进行性能分析时,不仅需要考虑编译器自身的性能优势,也不能忽视平台所产生的影响.图1展示了同期版本的icc和aocc编译器在Intel平台以及基于海光处理器的验证平台(Hygon)上表现出截然相反的性能表现.以SPEC CPU2017定点测试集为例,图1(a)中的2组曲线分别代表Intel服务器本地安装的2款编译器icc编译器(iccIntel)和aocc编译器(aoccIntel)所产生的SPEC CPU2017定点性能对比数据.标记菱形的曲线所代表的iccIntel在Intel服务器上呈现出明显“主场实力”,在SPEC CPU2017定点几何平均分值(INT_GEOM)上与标记方形的曲线所代表的aoccIntel的差值将近7%;然而在图1(b)中,海光平台上的2款本地编译器的性能与Intel平台上的编译器性能刚好相反,其中aocc编译器的性能相对于icc编译……