28

麦斯科技 · 2022年06月11日

Arm编译器Linux版:22.0版本中的新增功能有哪些?

https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/arm-compiler-for-linux-and-arm-performance-libraries-22-0

作者:Ashok Bhat2022年5月27日

Arm编译器Linux 22.0版现在提供了改进的编译器和库。Arm编译器Linux版(ACfL)是Arm C/C++编译器(armclang)、Arm Fortran编译器(armflang)和Arm性能库(ArmPL)的组合。在本博客中,我们将探讨此版本的新增功能。

Arm编译器现在基于LLVM 13

Arm编译器现在基于LLVM 13,这提高了性能。

6518.png

我们看到SPEC CPU 2017的许多次级基准得到了改进,geomean总分比之前的21.1版本提高了2.2%。该基准测试在AWS c6g.metal(带Arm Neoverse-N1核心)上运行。

针对Neoverse-V1进行了更好的调整(AWS Graviton 3核心)

22.0版本的Arm编译器为Neoverse-V1提供了一个优化的成本模型,并提供了许多与SVE代码生成相关的改进。这包括(1)优化使用SVE的Gather/Scatter功能(2)将循环(loop)填充对齐,以更好地利用指令缓存(3)在将向量的一个元素插入另一个元素时,优化使用SVE拼接操作。

6011.png

这些优化的累积效应可以在前面的图中看到。我们在这里将Neoverse-V1优化的SVE代码和为Neoverse-V1优化的Neon代码做一个对比。我们的基准是在开发SVE架构扩展时使用的一组具有代表性的微基准(micro-benchmarks)。您可以看到,22.0(橙色条)中的编译器优于21.1版(蓝色条)。通过这些改进,22.0版本已准备好在AWS Graviton 3上开发HPC应用程序。

GCC 11更新

该软件包现在提供GCC 11系列编译器,并有许多性能改进(https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/performance-improvements-in-gcc-11)。

具有CPU运行时检测的单个ArmPL

Arm性能库不再为SVE和非SVE内核打包为单独的库。我们现在提供一个库,其中包含所有受支持内核(包括SVE)的优化版本。在运行时,库通过检测核的类型,来选择最佳的例程和配置。作为用户,您可以自动受益于库中最快的调整,而无需重新链接到特定于核的库。

更快的BLAS、LAPACK和FFT

ArmPL 22.0进一步改进了BLAS和LAPACK例程。

微信图片_20220611101928.png

armpl_5F00_22.png

上图显示了22.0版本比21.0版本的改进(2021年初发布)。这些数据来自5000多个个案的基准测试,涵盖:广泛BLAS例程的基准测试,一系列重要的LAPACK例程,用于串行(1线程)和并行(8线程)执行中的小O(10)、中O(100)和大O(1000)不同的问题场景。

数学函数的改进

在22.0中,我们改进了许多数学函数的性能。其中包括标量函数(atan、atan2、atan2f、cos、exp、sin和erf)和向量函数(atanf、atan2f、cosf、erfcf、expo、logf、pow、sinf和tanf)的改进。在下图中,您可以看到Elefunt benchmark在AWS Graviton 2(Neoverse N1)系统上运行时的影响。

6116.png

模块名称变更

该包提供模块文件,以便轻松加载所需的编译器或库。对于22.0版本,请使用以下模块命令。

微信图片_20220611102416.png

结论

Arm编译器Linux 22.0版与前21.x系列版相比有许多改进和变化。我们将继续进行进一步的改进,并计划在2022年9月/10月发布下一版本22.1。

最新版本下载地址:https://developer.arm.com/downloads/-/arm-compiler-for-linux

推荐阅读
关注数
5837
内容数
525
定期发布Arm相关软件信息,微信公众号 ArmSWDevs,欢迎关注~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息