A new report sponsored by ARM and prepared by the University of Cambridge (UK) shows strong scaling for two popular CFD programs – OpenFOAM and Cloverleaf – on Cavium ThunderX-based ARM systems.
ARM’s push to penetrate the HPC landscape has been uneven so far but momentum may be shifting. There are a couple of landmark efforts, notably the Japan’s post k computer project in which Fujitsu chose ARM as its processor and the European Mont Blanc project. Wider adoption for ARM-based systems in the academic and commercial HPC world has been slow. ARM says this latest report is one of several planned efforts to bolster ARM’s case for use with HPC workloads.
The report by the University of Cambridge (HPC Case Study: CFD Applications on ARM), is intended to demonstrate both performance scalability and ease of porting these widely-used applications.
- OpenFOAM is a popular, general purpose solver package with many academic and industrial users. It can solve a wide range of both steady-state and time-dependent problems, in compressible and incompressible fluids, solid mechanics and electromagnetism. OpenFOAM is written in C++ and parallelized with MPI.
- Cloverleaf is a shock hydrodynamics code solving the compressible, time-dependent Euler equations using a second-order-accurate staggered-grid method. Cloverleaf is a mini-app, part of the international Mantevo Project, replicating the computational requirements of production codes used at defense laboratories worldwide. Originally written in Fortran, with hybrid parallelization using OpenMP/MPI, it has been ported to a wide range of programming models, allowing application performance to be compared across different parallel architectures.
The Cavium ThunderX architecture as described in the report “is a System on Chip (SoC) based on the ARM-v8 architecture. A single socket is comprised of 48 physical, fully out-of-order cores with up to four DDR4 memory controllers. A compute node typically has two sockets for a total of 96 cores and up to 1TB of attached memory. The mini- cluster used in this study was configured with 128GB of attached DDR4 memory and a 40Gb Ethernet interconnect.”
A figure showing the Cloverleaf performance is below.
According to the report, “It is key to note the ease with which these legacy x86 applications ported to ARM’s AArch64 instruction set. The Cloverleaf application code was compiled with no intervention in the code base or the build system. OpenFOAM required some small (~10 lines added) changes to its custom make build system to compile on AArch64 but none of the application code was affected.”
As in all “sponsored’ benchmarks, it’s probably smart to read the results with a grain of salt. That said, the ARM camp (silicon providers and ecosystem partners) seem to be mounting a louder campaign to earn a piece of the HPC market.
Link to ARM blog and the report: https://community.arm.com/processors/b/blog/posts/arm-hpc-case-study-university-of-cambridge