Evaluation of performance portability frameworks for the implementation of a particle‐in‐cell code
Summary This paper reports on an in‐depth evaluation of the performance portability frameworks Kokkos and RAJA with respect to their suitability for the implementation of complex particle‐in‐cell (PIC) simulation codes, extending previous studies based on codes from other domains. At the example of...
Gespeichert in:
Veröffentlicht in: | Concurrency and computation 2020-06, Vol.32 (11), p.n/a, Article 5640 |
---|---|
Hauptverfasser: | , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Summary
This paper reports on an in‐depth evaluation of the performance portability frameworks Kokkos and RAJA with respect to their suitability for the implementation of complex particle‐in‐cell (PIC) simulation codes, extending previous studies based on codes from other domains. At the example of a particle‐in‐cell model, we implemented the hotspot of the code in C++ and parallelized it using OpenMP, OpenACC, CUDA, Kokkos, and RAJA, targeting multi‐core (CPU) and graphics (GPU) processors. Both Kokkos and RAJA appear mature, are usable for complex codes, and keep their promise to provide performance portability across different architectures. Comparing the obtainable performance on state‐of‐the art hardware, but also considering aspects such as code complexity, feature availability, and overall productivity, we finally draw the conclusion that the Kokkos framework would be suited best to tackle the massively parallel implementation of the full PIC model. |
---|---|
ISSN: | 1532-0626 1532-0634 |
DOI: | 10.1002/cpe.5640 |