所有分类
  • 所有分类
  • 实时新闻

鲲鹏编译优化技术探索与软件优化实践

毕昇编译器是一种 Linux 下针对鲲鹏处理器的高性能编译器,于2020年正式发布上线。它基于开源 LLVM 10.0.1版本开发,并进行了优化和改进,同时将 flang 作为默认的 Fortran 语言前端编译器。除支持 LLVM 通用功能和优化外,毕昇编译器还做了以下增强:

高性能编译算法。编译深度优化,增强多核并行化,自动矢量化等,大幅提升指令和数据吞吐量。加速指令集。结合 NEON/SVE 等内嵌指令技术,深度优化指令编译和运行时库,发挥鲲鹏架构最佳表现。AI 迭代调优。内置 AI 自学习模型,自动优化编译配置,迭代提升程序性能,完成最优编译。

华为毕昇编译器架构师魏伟表示,毕昇编译器结合鲲鹏架构特点,针对不同场景,不同应用特点,使用不同的编译优化手段,通过深度优化指令编译,引入或增强优化算法等,发挥鲲鹏极致算力。

鲲鹏编译优化技术探索与软件优化实践

会上,魏伟还分享了毕昇编译器的几个优化技术,如:

循环优化。循环优化是编译器中极为重要的一个优化手段,具有极为广泛及多样化的优化措施。编译器通过不同的优化方法来提高循环的性能。结构体内存布局优化。基于全程序优化来提高缓存利用率,优化的主要手段是将结构体数组转换为数组结构体。结构体指针压缩优化。通过将指针成员由64bits 压缩至32bits,减小每个结构体 node 的内存体积。这一概念同结构体内存布局优化有些类似,目的都是改善访存局部性,提升缓存利用率。自动向量化。毕昇编译器重点优化了循环矢量化及 SLP 矢量化,充分保持程序局部性,高效提升计算密集型场景的性能。Pipeline 优化。编译器在做后端基于硬件流水线的优化,在特定场景下可以带来很多收益。Autotuner。其引入了基于 ML 的自动搜索技术,可以节省调优时间。

鲲鹏编译优化技术探索与软件优化实践

效果方面,毕昇编译器与鲲鹏芯片协同,通过编译器技术充分发挥芯片的性能,提升鲲鹏硬件平台上业务的性能体验。基于鲲鹏上编译器优化,SPEC2017性能比 gcc 平均高20%以上。

鲲鹏编译优化技术探索与软件优化实践

据魏伟介绍,毕昇编译器1.3.3版本将于今年6 月30日正式发布,新版本支持基于 Structure Peeling 的特性增强及指针压缩优化,完善 Fortran2003/2008语言特性,同时新增大量优化特性,增强与完善 Autotuner 特性,改善调优时间。

原文链接:https://www.w1ym.com/65892/,转载请注明出处~~~
0

评论0

请先

站点公告

【温馨提示】 本站不建议您对本站支付任何费用或开通任何会员本站99%资源为免费资源只提供共享不提供技术支持,本站资源主要以学习开发为主,本站是为个人资源记录学习研究等情况而建立,如特殊原因下载,需在24小时删除相关资源。本站资源均来自互联网收集或网友分享,若有侵权,请联系站长删除,谢谢。立即查看
显示验证码
没有账号?注册  忘记密码?