Fearless simulation of many-particle dynamics

Julian Jeggle (Institute for Theoretical Physics, Center for Soft Nanoscience, University of Münster)
Raphael Wittkowski (Institute for Theoretical Physics, Center for Soft Nanoscience, University of M√ľnster)
Friday session 1 (Zoom) (13:0014:40 BST)
Watch a recording of this talk on YouTube
Download this talk's slides

Direct simulations of particle trajectories in many-particle systems are an essential numerical tool in physics, chemistry, biology and mathematics. Established software packages such as LAMMPS or GROMACS aim to make these calculations more accessible by abstracting away many of the computational complexities of this problem class. However, this abstraction typically comes with a significant loss of generality, which in the last decade led to the creation of more general software packages such as OpenFPM or OpenMM that typically exhibit compiler-like features. Continuing this trend, we created the Fearlessly Integrating Particle Simulator (FIPS), a novel approach in the form of a domain-specific language and a just-in-time compiler based on the LLVM framework. It is both implemented in Rust and heavily inspired by the design of Rust to mimic its exceptional combination of performance, expressiveness and safety. In this talk, we will give a brief introduction to FIPS as well as an overview of the technical challenges of building an optimizing compiler in Rust. We will also summarize what we consider as the important lessons to learn from the language design of Rust for the next generation of domain-specific languages for scientific computing.