Dienstag, 22.09.2020, 16.00 Uhr

A Framework for the Vectorization of Molecular Dynamics Kernels

  • Ort: Videokonferenz (Zoom-Meeting, Informationen siehe unten)
  • Referent: Markus Hoehnerbach M.Sc. (High-Performance and Automatic Computing)



We introduce a domain-specific language (DSL) for many-body potentials, which are used in molecular dynamics (MD) simulations in the area of materials science. We also introduce a compiler to translate the DSL into high-performance code suitable for modern supercomputers.

We begin by studying ways to speedup up potentials on supercomputers using two case studies: The Tersoff and the AIREBO potentials. In both case studies, we identify a number of optimizations, both domain-specific and general, to achieve speedups of up to 5x; we also introduce a method to keep the resulting code performance portable.

During the AIREBO case study, we also discover that the existing code contains a number of errors. This experience motivates us to include the derivation step, the most error-prone step in manual optimization, in our automation effort. After having identified beneficial optimization techniques, we create a ``potential compiler'', short PotC, which generates fully-usable performance-portable potential implementations from specifications written in our DSL. DSL code is significantly shorter (20x to 30x) than a manual code, reducing both manual work and opportunities to introduce bugs.

We present performance results on five different platforms: Three CPU platforms (Broadwell, Knights Landing, and Skylake) and two GPU platforms (Pascal and Volta). While the performance in some cases remains far below that of hand-written code, it also manages to match or exceed manually written implementations in other cases. For these cases, we achieve speedups of up to 9x compared to non-vectorized code.

Es laden ein: die Dozentinnen und Dozenten der Informatik



Thema: Dissertation M. Höhnerbach
Uhrzeit: 22.Sep.2020 03:45 PM Paris

Zoom-Meeting beitreten

Meeting-ID: 989 2023 8040
Kenncode: 668020