@article{a558ed672b484b488e34cbc15d9ea71f,
title = "A comparison of the shared-memory parallel programming models OpenMP, OpenACC and Kokkos in the context of implicit solvers for high-order FEM",
abstract = "We consider the application of three performance-portable programming models in the context of a high-order spectral element, implicit time-stepping solver for the Navier–Stokes equations. We aim to evaluate whether the use of these models allows code developers to deliver high-performance solvers for computational fluid dynamics simulations that are capable of effectively utilising both many-core CPU and GPU architectures. Using the core elliptic solver for the Navier–Stokes equations as a benchmarking guide, we evaluate the performance of these models on a range of unstructured meshes and give guidelines for the translation of existing codebases and their data structures to these models.",
keywords = "FEM, Helmholtz equation, Kokkos, OpenACC, OpenMP, Shared-memory parallel programming models",
author = "Jan Eichst{\"a}dt and Martin Vymazal and David Moxey and Joaquim Peir{\'o}",
note = "Funding Information: JE acknowledges the constructive discussions with Niki Loppi that led to the development of the strided kernels. JE also acknowledges the support through the President{\textquoteright}s Scholarship of Imperial College London, United Kingdom . MV acknowledges support from the EU Horizon 2020 project ExaFLOW (Grant No. 671571 ). DM and JP acknowledge support from the EPSRC, United Kingdom under Grant EP/R029423/1 . The Quadro P5000 GPU used for this work has been kindly donated by the NVIDIA corporation, United States . Publisher Copyright: {\textcopyright} 2020 Elsevier B.V. Copyright: Copyright 2020 Elsevier B.V., All rights reserved.",
year = "2020",
month = oct,
doi = "10.1016/j.cpc.2020.107245",
language = "English",
volume = "255",
journal = "COMPUTER PHYSICS COMMUNICATIONS",
issn = "0010-4655",
publisher = "Elsevier",
}