Poster 72: Kokkos and Fortran in the Exascale Computing Project Plasma Physics Code XGC
TimeThursday, 21 November 20198:30am - 5pm
DescriptionNumerical plasma physics models such as the particle-in-cell XGC code are important tools to understand phenomena encountered in experimental fusion devices. Adequately resolved simulations are computationally expensive, so optimization is essential. To address the need for consistent high performance by cutting-edge scientific software applications, frameworks such as Kokkos have been developed to enable portability as new architectures require hardware-specific coding implementation for best performance. Cabana, a recent extension to Kokkos developed with the ECP-CoPA project, is a library of common kernels and operations typically necessary for particle-based codes. The Kokkos/Cabana framework enables intuitive construction of particle-based codes, while maintaining portability between architectures. Here, we summarize the adoption by XGC of the execution and data layout patterns offered by this framework. We demonstrate a method for Fortran codes to adopt Kokkos and show that it can provide a single, portable code base that performs well on both GPUs and multicore machines.