Evaluation of performance portability frameworks for the implementation of a particle-in-cell code

11/19/2019
by   Victor Artigues, et al.
0

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.

READ FULL TEXT
research
04/07/2019

Multi-GPU Acceleration of the iPIC3D Implicit Particle-in-Cell Code

iPIC3D is a widely used massively parallel Particle-in-Cell code for the...
research
09/16/2019

Bonsai-SPH: A GPU accelerated astrophysical Smoothed Particle Hydrodynamics code

We present the smoothed-particle hydrodynamics simulation code, Bonsai-S...
research
12/22/2022

Kokkos-Based Implementation of MPCD on Heterogeneous Nodes

The Kokkos based library Cabana, which has been developed in the Co-desi...
research
11/20/2020

PIFE-PIC: Parallel Immersed-Finite-Element Particle-In-Cell For 3-D Kinetic Simulations of Plasma-Material Interactions

This paper presents a recently developed particle simulation code packag...
research
02/25/2021

VPIC 2.0: Next Generation Particle-in-Cell Simulations

VPIC is a general purpose Particle-in-Cell simulation code for modeling ...
research
04/27/2022

A Task Programming Implementation for the Particle in Cell Code Smilei

An implementation of the electromagnetic Particle in Cell loop in the co...
research
01/28/2021

Porting WarpX to GPU-accelerated platforms

WarpX is a general purpose electromagnetic particle-in-cell code that wa...

Please sign up or login with your details

Forgot password? Click here to reset