ARM® Performance Libraries highlight HPC ecosystem momentum with a consistent programming framework for a variety of SoC designs.
This year has seen the emergence of ARM support for both open-source and commercial aspects of the HPC software ecosystem. This includes compilers, performance tools, debuggers, support from the major Linux distributions, and the newly announced ARM® Performance Libraries.
Heterogeneous systems are commonplace in modern HPC deployments, where clusters typically comprise a variety of computational cores with varying cost, performance and energy-efficiency characteristics. This has been driven by demand for improved performance across an increasingly diverse set of workloads, to the point where a single general-purpose CPU core cannot meet the range of demands placed upon it by today’s users.
Uniquely, the ARM architecture enables heterogeneity at all levels whilst maintaining a common instruction set that keeps applications functionally portable; allowing them to move between hardware from different vendors without the need for modification. 2015 has seen the introduction of a wide range of 64-bit ARM-compatible system-on-chip (SoC) designs from a range of vendors, packaged by systems integrators into form factors designed for HPC deployments.
Within a single system, ARM’s technology allows cores and other compute logic with differing power/performance characteristics to coexist within a single operating system instance. Across a heterogeneous HPC cluster, the wide variety of ARM implementations provide an unprecedented level of choice in cost/power/performance trade-offs whilst maintaining binary compatibility, so that a single Linux distribution can be deployed across those heterogeneous systems.
However, the performance gains of heterogeneity can come at a cost. Workloads often must not only be recompiled and performance-tuned for a new system, but re-written at the algorithmic level in order to make best use of the GPGPUs, FPGAs, DSPs and other architectural components that are available to the designers of today’s HPC systems.
New ARM commercially supported product accelerates application development
The ARM ecosystem has invested heavily to ensure that the open-source compilers (LLVM and GCC, including gfortran) produce highly-optimized ARM code that performs well across a range of different implementations. However, the HPC community requires the highest levels of performance efficiency, and traditionally this meant extensive hand-tuning of computational kernels by experts with detailed knowledge of the specific CPU that is being targeted.
To address these challenges and compress application development cycles, ARM introduced ARM Performance Libraries, providing best-of-breed implementations for the BLAS, LAPACK and FFT functions that underpin much of scientific computing. The libraries are performance-tuned for a wide variety of hardware implementations of the ARM architecture available today; enabling application developers to utilize a single, commercially supported and maintained library with confidence that they will achieve the desired performance and reliability across a diverse and growing range of ARM-compatible 64-bit CPU cores. These libraries are multithreaded and take advantage of ARM’s Advanced SIMD delivering maximum performance and throughput on the targeted CPU cores.
The correctness and accuracy of ARM Performance Libraries has been validated using technology from the Numerical Algorithms Group (NAG), providers of the world’s largest collection of commercial numerical and statistical algorithms.
ARM Performance Libraries are available on a subscription basis enabling access to ARM’s support channels, as well as regular and continuous updates to optimize for additional implementations of the ARM architecture and enhance the functionality of the libraries.
Unlocking open-source HPC codes for ARM
In addition to commercially supported high-performance BLAS, LAPACK and FFT functions, subscribers of ARM Performance Libraries will have access to a library of prevalent open-source scientific computing packages that have been compile-time tuned for a range of ARM platforms and are available for install on a variety of Linux distributions.
In Conclusion
Whether you are just getting started with ARM or are looking to boost the performance of your workload, the combination of highly-tuned commercial implementations with easily-consumable prebuilt open-source packages accelerates time-to-value, reduces risk and allows you to maximise your investment in the ARM ecosystem.
ARM Performance Libraries are the fastest way to bring your application to the ARM architecture, providing performance portability across the wide variety of CPU implementations that the ARM hardware ecosystem offers.
For more information, visit ARM at booth #2015 at Supercomputing 2015, contact [email protected] or learn more about what ARM is doing in the HPC space.