In-Situ Assessment of Device-Side Compute Work for Dynamic Load Balancing in a GPU-Accelerated PIC Code

by   Michael E. Rowan, et al.

Maintaining computational load balance is important to the performant behavior of codes which operate under a distributed computing model. This is especially true for GPU architectures, which can suffer from memory oversubscription if improperly load balanced. We present enhancements to traditional load balancing approaches and explicitly target GPU architectures, exploring the resulting performance. A key component of our enhancements is the introduction of several GPU-amenable strategies for assessing compute work. These strategies are implemented and benchmarked to find the most optimal data collection methodology for in-situ assessment of GPU compute work. For the fully kinetic particle-in-cell code WarpX, which supports MPI+CUDA parallelism, we investigate the performance of the improved dynamic load balancing via a strong scaling-based performance model and show that, for a laser-ion acceleration test problem run with up to 6144 GPUs on Summit, the enhanced dynamic load balancing achieves from 62 the theoretically predicted maximum speedup; for the 96-GPU case, we find that dynamic load balancing improves performance relative to baselines without load balancing (3.8x speedup) and with static load balancing (1.2x speedup). Our results provide important insights into dynamic load balancing and performance assessment, and are particularly relevant in the context of distributed memory applications ran on GPUs.


page 4

page 5

page 7


A Programming Model for GPU Load Balancing

We propose a GPU fine-grained load-balancing abstraction that decouples ...

Multi-GPU SNN Simulation with Static Load Balancing

We present a SNN simulator which scales to millions of neurons, billions...

Exploiting Parallelism on Shared Memory in the QED Particle-in-Cell Code PICADOR with Greedy Load Balancing

State-of-the-art numerical simulations of laser plasma by means of the P...

Performance Assessment of Diffusive Load Balancing for Distributed Particle Advection

Particle advection is the approach for extraction of integral curves fro...

Dynamic Load Balancing Strategies for Graph Applications on GPUs

Acceleration of graph applications on GPUs has found large interest due ...

Dynamic load balancing strategies for hierarchical p-FEM solvers

Equation systems resulting from a p-version FEM discretisation typically...

A Timer-Augmented Cost Function for Load Balanced DSMC

Due to a hard dependency between time steps, large-scale simulations of ...

Please sign up or login with your details

Forgot password? Click here to reset