Skip to content Skip to footer

Multi-Architecture Parallel Particle Simulations on HPC Systems

Activity: Talk or presentation at external institutions/eventsTalk/PresentationContributed

Persons and affiliations

  • Max Planck Institute of Molecular Cell Biology and Genetics

Date

13 Feb 2020

Description

Parallel numerical simulation using particles and/or meshes are common in both scientific and industrial applications. Popular numerical methods that fall into this category are Smoothed Particle Hydrodynamics (SPH), Vortex Methods (VM), Molecular Dynamics (MD), Discrete Element Methods (DEM), Finite-Difference Methods (FDM), Particle-in-Cell (PIC) codes, and Finite-Volume methods (FVM). Parallel implementation of all of these methods can be expressed as a set of common abstract data types and operators, as implemented in the OpenFPM middleware. OpenFPM is a scalable C++ framework for rapid and efficient development of particle- and particle-mesh simulations. It uses C++ Template Meta-Programming for compile-time code generation in order to allow arbitrary C++ objects to be particle or mesh node properties, and perform simulations in arbitrary-dimensional spaces. Originally developed for shared- and distributed-memory CPU computing, we here present an extension of OpenFPM to GPUs and multi-GPU setups. We demonstrate two different ways of implementing GPU computations (using kernels and using inline code) in OpenFPM without explicitly having to write any CUDA, OpenCL, or the like. This renders GPU computing much more accessible and enables rapid porting of existing CPU codes to GPUs and to using a mixture of CPU and GPU operations in a distributed environment.

Conference

TitleSIAM Conference on Parallel Processing for Scientific Computing (PP20)
Duration12 - 15 February 2020
Degree of recognitionInternational event
LocationHyatt Regency Seattle
CitySeattle
CountryUnited States of America

Keywords