Accelerating high-order mesh optimisation with an architecture-independent programming model

Jan Eichstädt, Mashy Green, Michael Turner, Joaquim Peiró, David Moxey · Computer Physics Communications · 2018

Heterogeneous manycore performance-portable programming models and libraries, such as Kokkos, have been developed to facilitate portability and maintainability of high-performance computing codes and enhance their resilience to architectural changes. Here we investigate the suitability of the Kokkos programming model for optimising the performance of the high-order mesh generator NekMesh, which has been developed to efficiently generate meshes containing millions of elements for industrial problem involving complex geometries. We describe the variational approach for a posteriori high-order mesh optimisation employed within NekMesh and its parallel implementation. We discuss its implementation for modern manycore massively parallel shared-memory CPU and GPU platforms using Kokkos and demonstrate that we achieve increased performance on multicore CPUs and accelerators compared with a native Pthreads implementation. Further, we show that we achieve additional speedup and cost reduction by running on GPUs without any hardware-specific code optimisation.

Read the paper · More papers on PaperTik