This article is reprinted from Jishu CommunityJishu Column: Arm Software DeveloperAuthor:Ashok Bhat
https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/arm-compiler-for-linux-and-arm-performance-libraries-22-0
May 27, 2022
The Arm Compiler Linux version 22.0 now offers improved compilers and libraries. The Arm Compiler for Linux (ACfL) is a combination of the Arm C/C++ Compiler (armclang), the Arm Fortran Compiler (armflang), and the Arm Performance Libraries (ArmPL). In this blog, we will explore the new features of this version.
The Arm Compiler is Now Based on LLVM 13
The Arm Compiler is now based on LLVM 13, which enhances performance.

We have observed improvements in many secondary benchmarks of SPEC CPU 2017, with a geometric mean score increase of 2.2% compared to the previous version 21.1. This benchmark was run on AWS c6g.metal (with Arm Neoverse-N1 cores).
Better Tuning for Neoverse-V1
(AWS Graviton 3 Core)
The 22.0 version of the Arm Compiler provides an optimized cost model for Neoverse-V1 and offers numerous improvements related to SVE code generation. This includes (1) optimized use of SVE Gather/Scatter functionality (2) loop padding alignment to better utilize instruction caches (3) optimization of SVE concatenation operations when inserting one element of a vector into another.

The cumulative effects of these optimizations can be seen in the previous figure. Here we compare the SVE code optimized for Neoverse-V1 with the Neon code optimized for Neoverse-V1. Our benchmark is based on a set of representative micro-benchmarks used during the development of the SVE architecture extension.You can see that the compiler in version 22.0 (orange bar) outperforms version 21.1 (blue bar).With these improvements, version 22.0 is ready for developing HPC applications on AWS Graviton 3.
GCC 11 Updates
The package now provides the GCC 11 series compiler with many performance improvements.https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/performance-improvements-in-gcc-11
Single ArmPL with CPU Runtime Detection
The Arm Performance Library is no longer packaged as separate libraries for SVE and non-SVE cores. We now provide a single library that contains optimized versions for all supported cores (including SVE). At runtime, the library selects the best routines and configurations by detecting the type of core. As a user, you can automatically benefit from the best tuning in the library without needing to relink to core-specific libraries.
Faster BLAS, LAPACK, and FFT
ArmPL 22.0 further improves the BLAS and LAPACK routines.


The above figures show the improvements of version 22.0 compared to version 21.0 (released in early 2021). These data come from benchmarking over 5000 cases, covering: benchmarking a wide range of BLAS routines, a series of important LAPACK routines, for serial (1 thread) and parallel (8 threads) executions in small O (10), medium O (100), and large O (1000) different problem scenarios.
Improvements in Mathematical Functions
In version 22.0, we have improved the performance of many mathematical functions. This includes improvements in scalar functions (atan, atan2, atan2f, cos, exp, sin, and erf) and vector functions (atanf, atan2f, cosf, erfcf, expo, logf, pow, sinf, and tanf). In the following figure, you can see the impact of the Elefunt benchmark running on AWS Graviton 2 (Neoverse N1) systems.

Module Name Changes
The package provides module files for easy loading of the required compiler or library. For version 22.0, please use the following module commands.

Conclusion
The Arm Compiler Linux version 22.0 comes with many improvements and changes compared to the previous 21.x series. We will continue to make further improvements and plan to release the next version 22.1 in September/October 2022.
Latest version download link:
https://developer.arm.com/downloads/-/arm-compiler-for-linux
Copyright belongs to the original author, please contact us for any infringement issues.Delete
END
关于安芯教育
安芯教育是聚焦AIoT(人工智能+物联网)的创新教育平台,提供从中小学到高等院校的贯通式AIoT教育解决方案。
安芯教育依托Arm技术,开发了ASC(Arm智能互联)课程及人才培养体系。已广泛应用于高等院校产学研合作及中小学STEM教育,致力于为学校和企业培养适应时代需求的智能互联领域人才。