Designing HPC libraries in the modern C++ world

Numerical simulations running on computers is the most fundamental tool that most sciences - from physics to social science - use as a substitute to experiments when said experiments cannot realistically be run with a satisfactory duration, budget or ethical framework. This also means that the accuracy and the speed at which such computer simulations can be done is a crucial factor for the global scientific advancement. If accuracy of the simulation is tied to the field knowledge of scientists, the speed of a simulation is tied to the way one may take advantage of a computer hardware.