JUNE 18–22, 2017

Presentation Details

Name: (RP20) A Domain Specific Language for Performance Portable Molecular Simulations
Time: Tuesday, June 20, 2017
08:35 am - 09:45 am
Room:   Substanz 1+2  
Breaks:07:30 am - 10:00 am Welcome Coffee
Presenter:   Eike Hermann Müller, University of Bath
We describe a new Domain Specific Language for the development of performance portable Molecular Dynamics codes and its implementation in a Python framework. Researchers in computational physics and chemistry use larger and longer simulations to predict material properties, interpret experiments and explore regions of parameter space which are inaccessible in a laboratory. To obtain accurate results, codes must be efficient and exploit all available parallelism in a diversifying hardware landscape. Although several highly parallel Molecular Dynamics codes exist, their development requires substantial manpower and detailed knowledge in both physics/chemistry and computer science. In practice, it is rare for scientific programmers to possess all those skills. The same challenges are faced when processing the generated data. Inherently parallel tools for parallel data processing during or after the simulation are required to extract meaningful predictions from growing data volumes. To address those issues we present a novel technique for developing highly parallel Molecular Dynamics simulations based on a "separation of concerns" approach. Inspired by the successful PyOP2 framework for PDE solvers, we designed an abstraction which separates the details of the parallelisation from the implementation of the physically relevant particle pair kernels by the domain specialist. In our Python framework algorithms are expressed in a high level language while automatically generating highly efficient code for any target architecture. To demonstrate the effectiveness of this approach we show strong scaling results and comparisons to established monolithic MD codes. We also implement two popular structure analysis algorithms in our framework.

William Robert Saunders, University of Bath
James Grant, University of Bath
Eike Hermann Müller, University of Bath

RP20_Mueller.pdf (1218 KB)