Exploring C++ Standard Parallelism for GPU Programming in a Particle-In-Cell Application

View at publisher
Authors: Ester El Khoury, Mathieu Lobet, Laurent Colombet, Julien Bigot, Juan Jose Silva-Cuevas, Kévin Peyen
Cited by: 0

Abstract

In this paper, we evaluate the performance portability of stdpar focusing on the classical Particle-In-Cell (PIC) method on recent NVIDIA (V100, A100, H100 and GH200) and AMD (MI250 and MI300) GPUs. We compare stdpar to established parallel programming models such as Thrust and Kokkos, assessing both runtime performance and ease of use. In our implementation, the method is dominated by the projection operator, which requires atomic operations. Our study includes a first analysis of the performance and portability of atomicity in C++ versus CUDA across different backends. Since stdpar is based on the concept of unified memory, the comparison with other models includes both the version with and without this capability. We demonstrate that while stdpar significantly improves developer productivity, its performance varies with the workload. Notably, on average across NVIDIA architectures, stdpar processes 1.7× fewer particles than Kokkos and 1.1× fewer than Thrust under equivalent conditions. These insights highlight key tradeoffs when adopting stdpar in high-performance GPU applications.

Fields of Study & Subjects

Distributed and Parallel Computing Systems Particle Detector Development and Performance

Publication details

Pages
190–199
Publication date
1 May 2026
Language
EN