Abstract
Developers of Molecular Dynamics (MD) codes face significant challenges when adapting existing simulation packages to new hardware. In a continuously diversifying hardware landscape it becomes increasingly difficult for scientists to be experts both in their own domain (physics/chemistry/biology) and specialists in the low level parallelisation and optimisation of their codes. To address this challenge, we describe a ``Separation of Concerns'' approach for the development of parallel and optimised MD codes: the science specialist writes code at a high abstraction level in a domain specific language (DSL), which is then translated into efficient computer code by a scientific programmer. In a related context, an abstraction for the solution of partial differential equations with grid based methods has recently been implemented in the (Py)OP2 library. Inspired by this approach, we develop a Python code generation system for molecular dynamics simulations on different parallel architectures, including massively parallel distributed memory systems and GPUs. We demonstrate the efficiency of the auto-generated code by studying its performance and scalability on different hardware and compare it to other state-of-the-art simulation packages. With growing data volumes the extraction of physically meaningful information from the simulation becomes increasingly challenging and requires equally efficient implementations. A particular advantage of our approach is the easy expression of such analysis algorithms. We consider two popular methods for deducing the crystalline structure of a material from the local environment of each atom, show how they can be expressed in our abstraction and implement them in the code generation framework.
Original language | English |
---|---|
Pages (from-to) | 119–135 |
Number of pages | 17 |
Journal | Computer Physics Communications |
Volume | 224 |
Early online date | 22 Nov 2017 |
DOIs | |
Publication status | Published - 1 Mar 2018 |
Keywords
- cs.DC
- cs.SE
- physics.comp-ph
- D.1.3; D.2.11; J.2; G.4
Fingerprint
Dive into the research topics of 'A Domain Specific Language for Performance Portable Molecular Dynamics Algorithms'. Together they form a unique fingerprint.Equipment
-
Balena High Performance Computing (HPC) System
Facility/equipment: Equipment
-
High Performance Computing (HPC) Facility
Chapman, S. (Manager)
University of BathFacility/equipment: Facility