OpenFPM: A scalable open framework for particle and particle-mesh codes on parallel computers

04/20/2018
by   Pietro Incardona, et al.
0

Scalable and efficient numerical simulations continue to gain importance, as computation is firmly established as the third pillar of discovery, alongside theory and experiment. Meanwhile, the performance of computing hardware grows through increasing heterogeneous parallelism, enabling simulations of ever more complex models. However, efficiently implementing scalable codes on heterogeneous, distributed hardware systems becomes the bottleneck. This bottleneck can be alleviated by intermediate software layers that provide higher-level abstractions closer to the problem domain, hence allowing the computational scientist to focus on the simulation. Here, we present OpenFPM, an open and scalable framework that provides an abstraction layer for numerical simulations using particles and/or meshes. OpenFPM provides transparent and scalable infrastructure for shared-memory and distributed-memory implementations of particles-only and hybrid particle-mesh simulations of both discrete and continuous models, as well as non-simulation codes. This infrastructure is complemented with portable implementations of frequently used numerical routines, as well as interfaces to third-party libraries. We present the architecture and design of OpenFPM, detail the underlying abstractions, and benchmark the framework in applications ranging from Smoothed-Particle Hydrodynamics (SPH) to Molecular Dynamics (MD), Discrete Element Methods (DEM), Vortex Methods, stencil codes, high-dimensional Monte Carlo sampling (CMA-ES), and Reaction-Diffusion solvers, comparing it to the current state of the art and existing software frameworks.

READ FULL TEXT

page 16

page 19

page 22

research
03/21/2023

Efficient and scalable hybrid fluid-particle simulations with geometrically resolved particles on heterogeneous CPU-GPU architectures

In recent years, it has become increasingly popular to accelerate numeri...
research
08/24/2022

Flash-X, a multiphysics simulation software instrument

Flash-X is a highly composable multiphysics software system that can be ...
research
01/20/2022

A Guide to Particle Advection Performance

The performance of particle advection-based flow visualization technique...
research
03/31/2017

A Domain-Specific Language and Editor for Parallel Particle Methods

Domain-specific languages (DSLs) are of increasing importance in scienti...
research
07/13/2021

Scalable Biophysical Simulations of the Neuromuscular System

The human neuromuscular system consisting of skeletal muscles and neural...
research
12/16/2022

ANKH: A Generalized O(N) Interpolated Ewald Strategy for Molecular Dynamics Simulations

To evaluate electrostatics interactions, Molecular dynamics (MD) simulat...
research
08/03/2020

Hardware locality-aware partitioning and dynamic load-balancing of unstructured meshes for large-scale scientific applications

We present an open-source topology-aware hierarchical unstructured mesh ...

Please sign up or login with your details

Forgot password? Click here to reset