Porting Nektar++ for Heteregeneous Computing
Nektar++ is a modern open-source spectral/hp element framework developed for distributed memory architectures with scalability up to many thousands of processor cores using message-passing interface (MPI) for communication. However, heterogeneous computing architectures have recently become predominant in high-performance computing. In order to leverage the computing potential of modern heterogeneous computing hardware, notably graphic processor units (GPUs), a significant redesign effort of the Nektar++ framework has been initiated as part of the eCSE funding initiative. To ensure both performance and portability and platform-independence, Nektar++ is being redesigned to support multiple heterogeneous devices with support for Nvidia, AMD, and Intel GPUs in addition to the existing support for SIMD vectorization on CPUs. To achieve the desired portability and platform-independence, a unified framework is being developed using CUDA, HIP, and SYCL programming models. In this respect, the present work describes the design and implementation of the multi-device back-ends as well as the memory management model use for host/device data consistency.
Institutions
- King's College London (GB)
- University of Utah (US)
- Imperial College London (GB)
Publication Details
- Journal
- Zenodo (CERN European Organization for Nuclear Research)
- Published
- 2025-05-14
- DOI
- https://doi.org/10.5281/zenodo.15497143
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00