Efficient and Portable Vectorized Sweep Kernels for the Transport Equation on 3D Cartesian Grids Using the Kokkos Framework

Gabriel Suau,Ansar Calloo,Rémi Baron,Romain Le Tellier
DOI: https://doi.org/10.1080/00295639.2024.2340173
IF: 1.2
2024-06-01
Nuclear Science and Engineering
Abstract:This paper describes the implementation of efficient and portable vectorized sweep kernels as part of the resolution of the neutron transport equation on three-dimensional Cartesian grids using the discrete ordinates ( Sn ) method for the angular variable and the diamond differencing (DD) scheme for the spatial discretization. Vectorization is set up along the directions within the same octant and is independent of the spatial discretization order; therefore, the extension of this technique to high-order DD or discontinuous Galerkin schemes is immediate. Our implementation is written in C++17 and relies on the Kokkos performance portability framework. This library allows one to express shared-memory parallelism (including vectorization) in a machine-independent way and supports many backends including CUDA and OpenMP. Our vectorization procedure relies on the portable single instruction multiple data types provided by Kokkos. The method has been implemented for DD schemes up to order 2 and yields promising results on CPUs supporting standard vector instructions.
nuclear science & technology
What problem does this paper attempt to address?