AbstractThe simulation of atomic scale interactions is an important tool in the fields of computational physics and chemistry.
These simulations model interactions between large numbers of individual particles to provide quantitative results that inform and guide physical experiments.
Modelling large numbers of interacting particles is a computationally expensive process that accounts for a significant proportion of CPU time in high performance computing facilities.
Furthermore, even with large parallel computers modern simulations cannot model the vast numbers of particles that exist in relatively small amounts of physical material.
Hence there is significant motivation to design and implement algorithms which model particle systems in the most computationally efficient manner possible, this is a highly non-trivial task due to the diversity and complexity of modern high performance computing hardware.
It is important to write simulation code which is performant and portable between computing hardware, to address these challenges this thesis makes the following contributions:
1) We present a new mathematical abstraction in which algorithms involving interacting particles can be described. We demonstrate the abstraction by describing non-bonded interactions between particles and by describing two structure analysis techniques.
2) We implemented an interface to our code generation framework in terms of our abstraction. This code generation framework generates efficient parallel code for two prevalent high performance computing architectures and we demonstrate that the generated code is competitive in comparison to well established libraries.
3) We provide a parallel implementation of the Ewald summation method written in our abstraction. This Ewald implementation extends the capabilities of our framework to include long-range electrostatic interactions.
4) We provide a parallel Fast Multipole Method (FMM) implementation to further extend the electrostatic capabilities of our framework. We demonstrate that this FMM implementation scales well in parallel and is performant when simulated systems contain millions of charged particles.
|Date of Award||13 Feb 2019|
|Supervisor||Eike Mueller (Supervisor), Steve Parker (Supervisor), James Grant (Supervisor) & Robert Scheichl (Supervisor)|