Heterogeneous Parallelization and Acceleration of Molecular Dynamics Simulations in GROMACS
Szil\'ard P\'all, Artem Zhmurov, Paul Bauer, Mark Abraham, Magnus, Lundborg, Alan Gray, Berk Hess, Erik Lindahl

TL;DR
This paper details the decade-long development of heterogeneous parallelization techniques in GROMACS, leveraging GPUs and CPUs to significantly accelerate molecular dynamics simulations with load balancing, dual pair lists, and efficient multi-GPU communication.
Contribution
It introduces a comprehensive heterogeneous parallelization framework for GROMACS that optimizes performance across CPUs and GPUs, including novel load balancing and communication strategies.
Findings
Achieved order-of-magnitude performance improvements.
Enabled efficient strong scaling across multiple GPUs.
Developed load-balanced algorithms for heterogeneous hardware.
Abstract
The introduction of accelerator devices such as graphics processing units (GPUs) has had profound impact on molecular dynamics simulations and has enabled order-of-magnitude performance advances using commodity hardware. To fully reap these benefits, it has been necessary to reformulate some of the most fundamental algorithms, including the Verlet list, pair searching and cut-offs. Here, we present the heterogeneous parallelization and acceleration design of molecular dynamics implemented in the GROMACS codebase over the last decade. The setup involves a general cluster-based approach to pair lists and non-bonded pair interactions that utilizes both GPUs and CPU SIMD acceleration efficiently, including the ability to load-balance tasks between CPUs and GPUs. The algorithm work efficiency is tuned for each type of hardware, and to use accelerators more efficiently we introduce dual pair…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
