September 3, 2019 — OpenMP is a directive-based programming model for shared memory, vectorization, and heterogeneous device programming in high performance computing (HPC). As an industry standard, it supports multi-language, high-level parallelism that is performant, productive, and portable. The OpenMP 5.0 specification released in November 2018 added many new features that will be useful for highly parallel and complex applications.
To enhance user adoption of these new features and support application portability across Department of Energy computing centers and other HPC facilities, NERSC and the Exascale Computing Project’s SOLLVE and ECP Training programs joined forces to sponsor a four-day OpenMP hackathon at Berkeley Lab, August 27-30, 2019. Similar OpenMP hackathons were held at Brookhaven National Laboratory in May and Oak Ridge National Laboratory in July.
“The theme of the NERSC/ECP hackathon was to port and optimize user applications for energy-efficient processor architectures and to prepare users for the Perlmutter architecture and beyond,” said Helen He, an HPC consultant in NERSC’s User Engagement Group and one of the event organizers.
Seven teams from across the country attended the hackathon, working with mentors from Intel, Cray, Brookhaven, NASA, Rice University, and NERSC.
“This hackathon helped the teams make better use of their compute allocations on Cori and provided a pathway to using the CPU nodes and CPU+GPU nodes on Perlmutter,” said Chris Daley, an HPC performance engineer in NERSC’s Advanced Technology Group who, along with He and Rebecca Hartman-Baker, co-organized the event.
NERSC plans to host another OpenMP hackathon in 2020 with a greater focus on optimizing codes for the NVIDIA GPUs of Perlmutter.