Continuous physical systems whose behaviour can be modelled by partial differential equations (PDEs) are ubiquitous throughout science and engineering. For example, PDEs can describe flow past aircraft and through jet turbines, the propagation of earthquakes, the motion of the weather and the electrical behaviour of the heart and brain. Simulations based upon the numerical solution of PDEs are therefore an indispensable tool in the practical realisation of almost all high-technology industrial systems.
The multiscale and multi time step nature of the continuum mechanics systems themselves combined with huge potential for further application impact at higher resolution, poses a demanding need for greater computational power to compute billions of unknown values.
Gen X is bringing together the UK continuum mechanics code generation frameworks that are already “petascale-ready”. This is a field in which the UK holds a leadership position in cutting edge, deployed systems with demonstrated science impact.
Computing a numerical solution to a PDE produces one simulated outcome for a single set of input parameters where continuum mechanics simulation is usually just one component. Outer loop processes need to run many simulations to create an “actionable” output. Furthermore, these are not merely collections of independent computations: the outer loop process must consider the mathematical structure and properties of the PDE system and respond to the results of the earlier simulations conducted in order to determine which further computations are required.
The move towards exascale presents a timely opportunity to tackle the above challenges. For example, by exploitation of a new level of parallelism presented by the outer loop to turn ever-more parallel supercomputers into effective tools of science and engineering.
A simulation only has scientific or engineering value if its outcomes are actionable and can be analysed and studied. New approaches are therefore being considered in which data analysis and visualisation are conducted on the fly, before data have to be discarded due to the enormous data flow that will underpin the exascale.
Achieving an effective “separation of concerns” through composability and code generation requires:
- Methods for creating a separation of concerns between different “algorithmic components”.
- Functionality that allows simulation developers and users to “co-design” an optimal chain of algorithms for the science or engineering challenge at hand without having to fully understand technology and techniques outside of their own specialism.
- Infrastructure that allows algorithms to be instantiated with high performance upon a diverse range of emerging and disruptive hardware without the need to reimplement the component algorithms themselves (so called “performance portability”).
Possible long-term contributions to the overarching ExCALIBUR objectives include:
- Code generation capabilities for extreme-scale PDE discretisation.
- Composable outer loop layers.
- Programmable on-line analysis and visualisation.
- Deployable software spanning from laptop to the world’s largest supercomputers.