Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

A massively parallel and scalable multi-CPU material point method

Conference ·
Harnessing the power of modern multi-GPU architectures, we present a massively parallel simulation system based on the Material Point Method (MPM) for simulating physical behaviors of materials undergoing complex topological changes, self-collision, and large deformations. Our system makes three critical contributions. First, we introduce a new particle data structure that promotes coalesced memory access patterns on the GPU and eliminates the need for complex atomic operations on the memory hierarchy when writing particle data to the grid. Second, we propose a kernel fusion approach using a new Grid-to-Particles-to-Grid (G2P2G) scheme, which efficiently reduces GPU kernel launches, improves latency, and significantly reduces the amount of global memory needed to store particle data. Finally, we introduce optimized algorithmic designs that allow for efficient sparse grids in a shared memory context, enabling us to best utilize modern multi-GPU computational platforms for hybrid Lagrangian-Eulerian computational patterns. We demonstrate the effectiveness of our method with extensive benchmarks, evaluations, and dynamic simulations with elastoplasticity, granular media, and fluid dynamics. In comparisons against an open-source and heavily optimized CPU-based MPM codebase [Fang et al. 2019] on an elastic sphere colliding scene with particle counts ranging from 5 to 40 million, our GPU MPM achieves over 100x per-time-step speedup on a workstation with an Intel 8086K CPU and a single Quadro P6000 GPU, exposing exciting possibilities for future MPM simulations in computer graphics and computational science. Moreover, compared to the state-of-the-art GPU MPM method [Hu et al. 2019a], we not only achieve 2x acceleration on a single GPU but our kernel fusion strategy and Array-of-Structs-of-Array (AoSoA) data structure design also generalizes to multi-GPU systems. Our multi-GPU MPM exhibits near-perfect weak and strong scaling with 4 GPUs, enabling performant and large-scale simulations on a 10243 grid with close to 100 million particles with less than 4 minutes per frame on a single 4-GPU workstation and 134 million particles with less than 1 minute per frame on an 8-GPU workstation.
Research Organization:
Oak Ridge National Laboratory (ORNL), Oak Ridge, TN (United States)
Sponsoring Organization:
USDOE; USDOE Office of Science (SC)
DOE Contract Number:
AC05-00OR22725
OSTI ID:
1820872
Country of Publication:
United States
Language:
English

References (49)

Ebb journal May 2016
Continuum Foam journal November 2015
Coupling 3D Eulerian, Heightfield and Particle Methods for Interactive Simulation of Large Scale Liquid Phenomena journal October 2015
Unified particle physics for real-time applications journal July 2014
P-cloth journal November 2020
A material point method for snow simulation journal July 2013
GPU-accelerated adaptive particle splitting and merging in SPH journal July 2013
A material point method for thin shells with frictional contact journal July 2018
Animation of crack propagation by means of an extended multi-body solver for the material point method journal December 2017
VRGym conference May 2019
Real-time viscous thin films journal December 2018
A multi-scale model for simulating liquid-fabric interactions journal July 2018
Automatically Distributing Eulerian and Hybrid Fluid Simulations in the Cloud journal April 2018
Deep unsupervised pixelization journal December 2018
A scalable schur-complement fluids solver for heterogeneous compute platforms journal November 2016
Animating sand as a fluid journal July 2005
Decomposed optimization time integrator for large-step elastodynamics journal July 2019
Advances in Multi-GPU Smoothed Particle Hydrodynamics Simulations journal January 2014
Animating fluid sediment mixture in particle-laden flows journal August 2018
Power diagrams and sparse paged grids for high resolution adaptive liquids journal July 2017
Multi-species simulation of porous sand and water mixtures journal July 2017
Kokkos: Enabling manycore performance portability through polymorphic memory access patterns journal December 2014
A thermomechanical material point method for baking and cooking journal November 2019
A moving least squares material point method with displacement discontinuity and two-way rigid body coupling journal July 2018
Hybrid grains: adaptive coupling of discrete and continuum simulations of granular media journal January 2019
VDB: High-resolution sparse volumes with dynamic topology journal June 2013
CAMA: Contact‐Aware Matrix Assembly with Unified Collision Handling for GPU‐based Cloth Simulation journal May 2016
CD-MPM: continuum damage material point methods for dynamic fracture animation journal July 2019
Silly rubber: an implicit material point method for simulating non-equilibrated viscoelastic and elastoplastic solids journal July 2019
Rule-free sewing pattern adjustment with precision and efficiency journal July 2018
SPGrid: a sparse paged grid structure applied to adaptive smoke simulation journal November 2014
Drucker-prager elastoplasticity for sand animation journal July 2016
Smilei : A collaborative, open-source, multi-purpose particle-in-cell code for plasma simulation journal January 2018
Augmented MPM for phase-change and varied materials journal July 2014
Taichi journal November 2019
Physically based modeling and animation of landslides with MPM journal June 2019
FLIP: A method for adaptively zoned, particle-in-cell calculations of fluid flows in two dimensions journal August 1986
Mixing sauces journal July 2019
New multi-GPU implementation for smoothed particle hydrodynamics on heterogeneous clusters journal August 2013
Dynamic anticrack propagation in snow journal August 2018
Fast Construction of SAH BVHs on the Intel Many Integrated Core (MIC) Architecture journal January 2012
Mass-Conserving Eulerian Liquid Simulation journal January 2014
Anisotropic elastoplasticity for cloth, knit and hair frictional contact journal July 2017
OpenMP: an industry standard API for shared-memory programming journal January 1998
An adaptive generalized interpolation material point method for simulating elastoplastic materials journal November 2017
A semi-implicit material point method for the continuum simulation of granular materials journal July 2016
Mirroring without Overimitation: Learning Functionally Equivalent Manipulation Actions journal July 2019
Real-time Eulerian water simulation using a restricted tall cell grid journal July 2011
Inferring Forces and Learning Human Utilities from Videos conference June 2016