Abstract
We present a scientific numerical software for multi-stage, multi-step, and adaptive explicit time integration on distributed-memory parallel computers and on Graphics Processing Units (GPUs). Our implementation integrates the Odeint library from Boost with the OpenFPM framework for scientific computing, enabling compact and scalable numerical simulation codes. Specifically, we extend the Odeint data types to OpenFPM’s metaprogramming system. This makes the time-integration methods from Odeint available in a concise template-expression language for numerical codes distributed and parallelized using OpenFPM. We benchmark the software for exponential and sigmoidal dynamics and present application examples to the 3D Gray-Scott reaction-diffusion problem and the “dam break” problem from fluid mechanics. We find a strong-scaling efficiency of 80% on up to 512 CPU cores and a five-fold speedup on a single GPU.
