AWS joins Arm to support Arm-HPC hackathon this summer
This post was contributed by Brendan Bouffler, Head of HPC Developer Relations at AWS and Olly Perks, Principal HPC Engineer at Arm.
We are calling all grad students and post-docs who want to gain experience advancing the adoption of the Arm architecture in HPC to join a world-wide community effort led by the Arm HPC User’s Group (A-HUG). AWS is supporting this event along with our friends at Arm.
The event will take the form of a hackathon this summer and is aimed at getting open-source HPC codes to build and run fast on Arm-based processors, specifically AWS Graviton2.
To make it a bit more exciting, A-HUG will be awarding an Apple M1 MacBook to each member of the team (max. 4 people) that contribute the most back to the Arm HPC community.
Why are we all joining together to do this? When a new technology arrives on the scene, HPC applications rarely get good performance “out of the box.” It takes time and effort to tune our codes because we want to squeeze the most performance from the hardware, and to do this, we take advantage of the technology’s specific architectural characteristics. Sometimes it’s something in an instruction set, like a fused-multiply-add. Other times, it’s organizing data so we minimize cache misses. We might even dedicate a couple of cores close to the PCI to run data-mover processes while the other cores deal with analyzing the data. In short, if there is a performance gain to be had, we implement it.
The Armv8 architecture has made the AWS Graviton2 about as close to ‘out of the box’ awesome as we could have hoped, but we know there’s more performance to be unlocked, and it’s time to get methodical about it. That means porting codes, measuring their performance, and tuning. Since there are thousands of open-source codes in use by the HPC community, it’s going to take a lot of contributions across a great many domains.
What applications and codes are we targeting? Teams will choose from a list of codes that already have Spack recipes (perhaps only for other architectures). While the hackathon is hosted and run by A-HUG, they’ll also be getting help from the Spack team. As you probably know, Spack simplifies the build process for thousands of codes and libraries and is widely used in our community. For this event, it will also ensure that the techniques we all create and polish during the hackathon will live on after the summer.
How will this actually work? Each team will have its own pre-built AWS clusters with Graviton2 c6gn EC2 instances and with x86-based instances for comparing results. Contributions that focus on getting a code to build and run successfully will count towards the goal as they will push the community forward. However, it’s what you do to use the hardware to extract performance that will earn your team more points. The Graviton2 instances all have 64 cores per node, dual SIMD 128-bit units, and over 200 GB/s of peak memory bandwidth. They also have 100-Gbit/s networking with the Elastic Fabric Adapter (EFA) to support efficient MPI communications.
The pre-built AWS clusters will come with ready-to-use development tools and optimized libraries from Arm and others for porting, running, and benchmarking a selected code(s). Teams will provide realistic inputs and data for test cases, and measure how a code performs in both single-node and multiple-node runs. Points will be awarded for every successful code-build and test case, and the number of points earned will increase for performance improvements. Spack recipe improvements will go upstream, and test cases and workloads will go to a public GitHub repo where all the artifacts will get a DOI so you can reference them in a paper.
During the event, there will be live sessions on Zoom with experts from Arm, AWS, and Spack to whiteboard ideas and help with troubleshooting.
Awesome! When will this take place? The date for the hackathon is July 12, 2021 (two weeks after ISC’21) and it’ll run over five days (and be fully virtual, of course). Register and participate for the AHUG Hackathon: Cloud Hackathon for Arm-based HPC event!