麦斯科技 · 2022年05月15日

面向HPC开发人员的Arm编译器和性能库现已免费提供

https://community.arm.com/arm-community-blogs/b/high-performance-computing-blog/posts/arm-compilers-and-libraries-for-hpc-now-free

作者:Ashok Bhat 2022年5月9日

3771.jpg

我们很高兴地宣布,面向HPC应用程序开发人员的工具链包Linux版Arm编译器包(Arm Compiler for Linux)现已免费提供。

使用我们基于LLVM的C/C++/Fortran编译器和具有BLAS、FFT、LAPACK和稀疏线性代数功能的优化库,您不再需要许可证文件。对于工具链的问题,您仍然可以通过HPC社区论坛(https://community.arm.com/sup...)获得帮助。Arm技术人员会随时关注该论坛,以便及时回应所有问题。拥有有效许可证的现有客户将继续获得直接技术支持。

Linux版Arm编译器包中有什么?

ARMC/C++编译器(armclang)为Arm架构的最新架构特性和扩展提供了最早、最完整、最准确的支持。基于LLVM和clang,它支持最新的C++语言特性。

Arm Fortran编译器(armflang)支持现代Fortran(直到Fortran 2008)和OpenMP标准。它建立在LLVM和经典Flang项目之上。Arm工程师与HPC应用程序开发人员合作,为他们的旗舰HPC代码和迷你应用程序调整了该编译器。

与此同时,Arm工程师正在新的Fortran前端flang上与上游LLVM合作。目前,该前端正在开发中,尚未准备好投入生产使用。一旦它成熟,Arm Fortran编译器将切换到使用LLVM Flang Fortran前端。

GNU工具链也作为包的一部分提供。有了这个工具链,用户可以访问最新版本的GCC和gfortran编译器。最新版本得益于Arm GNU工程师所做的优化工作和更广泛的生态系统。

Arm性能库是一组具有BLAS、LAPACK、FFT和稀疏线性代数功能的优化库。这些库针对Arm的Neoverse系列处理器进行了调整,包括最新的Arm Neoverse V1内核。

Arm工程师经常为最新的基于Arm的硬件开发和调试数学和字符串例程。Arm性能库中当这些例程开发完成后会对外提供这些例程。这些例程也可以通过Arm主导的优化例程项目(https://github.com/ARM-software/optimized-routines)获得。优化例程项目拥有许可,允许其他产品从优化例程中受益。

为什么要使用Linux版Arm编译器?

Linux版Arm编译器提供了一个打包的解决方案,它将基于LLVM的编译器与Arm性能库集成在一起,并针对关键的HPC平台进行了验证。除了基本LLVM编译器之外,解决方案还需要进行上游(yet-to-be-upstreamed)优化。有时,当一个特性(例如SVE)需要对LLVM进行大量更改时,上行需要更长的时间。

我们专注于确保上游LLVM实现更改,确保依赖LLVM的合作伙伴(包括其他商业编译器)也能从我们的投入中受益。

总结

Linux版Arm编译器软件包提供免费使用社区支持的最新C/C++/Fortran编译器和优化库。Arm继续改进工具链和相关上游项目,您可以使用我们最新的工具链从这些更改中受益。

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