Sustainable domain-specific software generation tools for extremely parallel particle-based simulations
- Chris-Kriton Skylaris
This research project emerged from the EPSRC Sandpit on Extreme Computing that took place in Jan 2010. The sandpit process facilitated discussion between a group of chemists and civil engineers who all use particle-based numerical simulation approaches. The applications motivating these scientists' simulations vary greatly (from quantum mechanics to dam engineering), very different scales are simulated (atoms in some cases, mm sized sand particles in others) and the interactions between the particles are modelled in significantly different ways. However all of the methods have a common basis (they simulate particles and their interactions) and they all require implementation in a high performance computing (HPC) environment. In fact the similarities in the simulation approach mean that there are key common challenges to achieving effective HPC implementations.
Recent and likely future developments in HPC are making massively parallel computations viable; consequently there is a real possibility of achieving a step change in the level of complexity and realism in these numerical models with huge impact on industry and society. However, at the same time, the increased complexity of HPC hardware poses a barrier to being able to fully harness this resource. Working with the chemists and engineers, two computer scientists developed a strategy to address these challenges. The proposed approach is to develop a new Particle Science Language (PSL) to act as a bridge between the scientists who are developing particle based models and the computer science required to implement them in a rapidly evolving HPC environment. The scientists and engineers will implement their physical models in this relatively simple PSL and an automatic code generation system then automatically generate optimized code to effectively run the simulations on high performance systems. The research strategy is to rapidly develop the first implementation of the PSL and prototype it on micron to millimetre scale Discrete Element Modelling (DEM) dynamics code. From this early foundation, we will develop the PSL, with the key objectives of demonstrating generality in the breadth of applications within the particulate dynamics domain and portability to multiple HPC architectures.
A range of particle based methods (PBM) are currently used to simulate materials in chemistry, engineering, physics and biophysics. The 4 types of PBM considered directly in the proposed are molecular dynamics (MD), the ONETEP quantum mechanics-based program, discrete element modelling (DEM), and smoothed particle hydrodynamics (SPH).
The overall research objective is to develop a sustainable tool that will deliver, in the future, cutting edge research applicable to applications ranging from dam engineering to atomistic drug design. Measureable achievements will also be made during the current project. In fact, we anticipate at least 3 physical science "firsts" in the project lifetime:
(1) The first protein drug simulations that describe the entire protein-drug complex and solvent from first principle quantum mechanics.
(2) The first rationalization, at an atomic level, of polymer solubility in CO2, with chemical accuracy.
(3) Simulation of the vibrational spectrum of a carbon nanotube from first principles quantum mechanics.
(4) Simulation of triaxial compression tests with 1,000,000 particles
From a Computer Science perspective the project will lead to a novel high-level compiler optimisation framework that captures dependence, data distribution and loop nest optimisation in a context of highly-irregular data structures beyond the scope of classical approaches such as the polyhedral model, or even new results in shape analysis and ownership-type abstractions.
Life sciences simulation: Biomolecular simulations