CaNS
Canonical Navier-Stokes is a library for massively-parallel numerical simulations of fluid flows.
hipDecomp is an Adaptive Pencil Decomposition Library for AMD GPUs.
In multi-dimensional MPI-based codes transposes of the domain across all MPI ranks are often needed for solvers, which can be a significant performance bottleneck.
NVIDIA has developed cuDecomp, a library that provides routines for these transposes as well as halo cell communication on GPUs, however it only supports NVIDIA GPUs. Several of the world’s largest supercomputers contain AMD GPUs and thus are excluded from being used by cuDecomp-enabled codes. hipDecomp is a HIP port of cuDecomp, allowing these routines to be used on AMD GPUs as well.
hipDecomp is implemented in C++/HIP, with an optional interface in Fortran. Optionally, the hipDecomp API can use cuDecomp naming, allowing for easy transition in existing codes.
Packaged Performance Portability for cuDecomp
Canonical Navier-Stokes is a library for massively-parallel numerical simulations of fluid flows.