Reproducibility, accuracy and performance of the Feltor code and library on parallel computer architectures
arXiv:1807.01971 · doi:10.1016/j.cpc.2018.12.006
Abstract
Feltor is a modular and free scientific software package. It allows developing platform independent code that runs on a variety of parallel computer architectures ranging from laptop CPUs to multi-GPU distributed memory systems. Feltor consists of both a numerical library and a collection of application codes built on top of the library. Its main target are two- and three-dimensional drift- and gyro-fluid simulations with discontinuous Galerkin methods as the main numerical discretization technique. We observe that numerical simulations of a recently developed gyro-fluid model produce non-deterministic results in parallel computations. First, we show how we restore accuracy and bitwise reproducibility algorithmically and programmatically. In particular, we adopt an implementation of the exactly rounded dot product based on long accumulators, which avoids accuracy losses especially in parallel applications. However, reproducibility and accuracy alone fail to indicate correct simulation behaviour. In fact, in the physical model slightly different initial conditions lead to vastly different end states. This behaviour translates to its numerical representation. Pointwise convergence, even in principle, becomes impossible for long simulation times. In a second part, we explore important performance tuning considerations. We identify latency and memory bandwidth as the main performance indicators of our routines. Based on these, we propose a parallel performance model that predicts the execution time of algorithms implemented in Feltor and test our model on a selection of parallel hardware architectures. We are able to predict the execution time with a relative error of less than 25% for problem sizes between 0.1 and 1000 MB. Finally, we find that the product of latency and bandwidth gives a minimum array size per compute node to achieve a scaling efficiency above 50% (both strong and weak).
References in corpus (19)
- Accelerating Scientific Computations with Mixed Precision Algorithms
- Bifurcation in electrostatic resistive drift wave turbulence
- BOUT++: Recent and current developments
- Radial convection of finite ion temperature, high amplitude plasma blobs
- An efficient mixed-precision, hybrid CPU-GPU implementation of a fully implicit particle-in-cell algorithm
- A comparison of semi-Lagrangian discontinuous Galerkin and spline based Vlasov solvers in four dimensions
- Collisional transport across the magnetic field in drift-fluid models
- The influence of temperature dynamics and dynamic finite ion Larmor radius effects on seeded high amplitude plasma blobs
- Three discontinuous Galerkin schemes for the anisotropic heat conduction equation on non-aligned grids
- High performance computing aspects of a dimension independent semi-Lagrangian discontinuous Galerkin code
- Non-Oberbeck-Boussinesq zonal flow generation
- Modelling of turbulent impurity transport in fusion edge plasmas using measured and calculated ionization cross sections
- Unified transport scaling laws for plasma blobs and depletions
- Amplitude and size scaling for interchange motions of plasma filaments
- A conservative discontinuous Galerkin scheme for the 2D incompressible Navier--Stokes equations
- Streamline integration as a method for two-dimensional elliptic grid generation
- Interchange instability and transport in matter-antimatter plasmas
- Streamline integration as a method for structured grid generation in X-point geometry
- A modern resistive magnetohydrodynamics solver using C++ and the Boost library
Cited by in corpus (10)
- The GBS code for the self-consistent simulation of plasma turbulence and kinetic neutral dynamics in the tokamak boundary
- Validation of edge turbulence codes against the TCV-X21 diverted L-mode reference case
- A mass, momentum, and energy conservative dynamical low-rank scheme for the Vlasov equation
- Investigation of turbulent transport regimes in the tokamak edge by using two-fluid simulations
- Beyond the Oberbeck-Boussinesq and long wavelength approximation
- Numerical turbulence simulations of intermittent fluctuations in the scrape-off layer of magnetized plasmas
- A self-consistent multi-component model of plasma turbulence and kinetic neutral dynamics for the simulation of the tokamak boundary
- A -mode integrator for solving evolution equations in Kronecker form
- Full-F Turbulent Simulation in a Linear Device using a Gyro-Moment Approach
- Floating-point consistent cross-verification methodology for reproducible and interoperable DDA solvers with fair benchmarking