OMEGA-0: Preliminary Performance Results for the Ocean Model for E3SM Applications
The US Department of Energy (DOE) owns some of the largest supercomputers in the world, including the first two official exascale machines, Frontier and Aurora, according to the June 2024 Top500 list. The latest generation of machines utilize heterogenous architectures that increasingly derive their computing power from GPU devices. This creates a new challenge for programmers trying to develop performant, scalable code optimized to run on a variety of GPU architectures, each with their own vendor-specific languages (i.e. CUDA, HIP, SYCL). A performance-portable model like Kokkos is designed to provide a unified, programmer-friendly framework that is translated into low-level vendor-specific code on the backend. We present early results for Omega: The Ocean Model for E3SM Applications, an ocean model that implements the Kokkos library to effectively utilize the computing resources of DOE’s flagship HPC systems.
Omega is being developed to supplant MPAS-Ocean as the ocean component for the DOE’s Energy Exascale Earth System Model (E3SM). Algorithmically, Omega will be mostly identical to MPAS-Ocean (unstructured-mesh, TRiSK numerical methods; Thuburn et al. 2009), but is written in C++ to make use of Kokkos. The first stage of development, Omega-0 consists of a new infrastructural framework (build system, mesh partitioning and halo exchanges, IO, interface for Kokkos implementation, etc.) that facilitates the integration of the shallow water equations.
In this talk, we will present technical details of the Omega framework and our Kokkos implementation, results of verification tests using common shallow water test cases, and results of initial performance testing