Skip to main content
main-content

Über dieses Buch

This work presents modern implementations of relevant molecular dynamics algorithms using ls1 mardyn, a simulation program for engineering applications. The text focuses strictly on HPC-related aspects, covering implementation on HPC architectures, taking Intel Xeon and Intel Xeon Phi clusters as representatives of current platforms. The work describes distributed and shared-memory parallelization on these platforms, including load balancing, with a particular focus on the efficient implementation of the compute kernels. The text also discusses the software-architecture of the resulting code.

Inhaltsverzeichnis

Frontmatter

Chapter 1. Introduction

Abstract
This chapter outlines the work “Supercomputing for Molecular Dynamics Simulations: Handling Multi-Trillion Particles in Nanofluidics” and defines the overall scope of this book. Several flavors of molecular dynamics (MD) simulation are introduced, and we point out the different requirements on MD depending on the field in which MD is applied. Since we focus on the application of MD in the relatively new domain of process engineering, we discuss which ideas from molecular biology and its mature simulation codes can be re-used and which need to be re-thought. This is necessary since both molecular models as well as particle numbers used in computational molecular engineering noticeably vary from molecular biology. Furthermore, we outline the methodology and structure if this book.
Alexander Heinecke, Wolfgang Eckhardt, Martin Horsch, Hans-Joachim Bungartz

Chapter 2. Molecular Dynamics Simulation

Abstract
This section provides a compact description of the basics of MD simulation. It only covers topics that are required to understand MD simulation in process engineering, i.e. in particular molecular modeling, the computation of potentials and forces, as well as the efficient identification of neighboring molecules. Here focus is put on single- and multi-center interactions based on the Lennard-Jones potential for short-range interactions. These detailed descriptions help to elaborate the differences between MD in process engineering and other fields and motivate the development of a specialized code. Such a code is ls1 mardyn, whose optimizations are discussed in the up-coming chapters. At the end of the section we provide the general layout of the software.
Alexander Heinecke, Wolfgang Eckhardt, Martin Horsch, Hans-Joachim Bungartz

Chapter 3. Parallelization of MD Algorithms and Load Balancing

Abstract
MD simulation in process engineering features enormous computational demands, and therefore requires efficient parallelization techniques. This chapter describes ls1 mardyn ’s parallelization approach for shared-memory and distributed-memory architectures. This is done by first defining today’s computing architectures and their governing design principles: Heterogeneity, massive amounts of cores and data parallelism. Based on this, we are then able to reengineer ls1 mardyn in such a way that it can optimally leverage important hardware features, and describe our parallelization approach for shared- and distributed-memory systems at the example of the Intel Xeon processor and the Intel Xeon Phi coprocessor, respectively. We close this section by describing load-balancing techniques in case of a distributed-memory parallelization and heterogeneous particle distributions in the computational domain.
Alexander Heinecke, Wolfgang Eckhardt, Martin Horsch, Hans-Joachim Bungartz

Chapter 4. Efficient Implementation of the Force Calculation in MD Simulations

Abstract
This chapter describes how the computational kernel of MD simulations, the force calculation between particles, can be mapped to different kinds of hardware by applying minimal changes to the software. Since ls1 mardyn is based on the so-called linked-cells algorithm, several difference facets of this approach are optimized. First, we present a newly developed sliding window traversal of the entire data structure which enables the seamless integration of new optimizations such as the vectorization of the Lennard-Jones-12-6 potential. Second, we describe and evaluate several variants of mapping this potential to today’s SIMD/vector hardware using intrinsics at the example of the Intel Xeon processor and the Intel Xeon Phi coprocessor, in dependence on the functionality offered by the hardware. This is done for single-center and as well for multicentered rigid-body molecules.
Alexander Heinecke, Wolfgang Eckhardt, Martin Horsch, Hans-Joachim Bungartz

Chapter 5. Experiments

Abstract
This chapter contains a detailed performance assessment of ls1 mardyn which is carried out in three parts. First, we provide a detailed performance analysis on a regular high-performance CPU (Intel Xeon) for scenarios containing particles with one to four centers. In all cases we ran strong-scaling and weak-scaling scenarios and analyze the performance characteristics of the implementation. Second, a performance study of a hybrid parallelization on the Intel Xeon Phi coprocessor is presented, as well as its scalability across several coprocessors. Special focus is put on the analysis of the performance of the proposed gather- and scatter-enhanced force calculation. Finally, we discuss our implementation specialized for atomic fluids, e.g., targeting inert gases. This version of ls1 mardyn enabled the world’s largest molecular dynamics simulation in 2013.
Alexander Heinecke, Wolfgang Eckhardt, Martin Horsch, Hans-Joachim Bungartz

Chapter 6. Conclusion

Abstract
This chapter concludes the book “Supercomputing for Molecular Dynamics Simulations: Handling Multi-Trillion Particles in Nanofluidics.” We recap important algorithmic innovation described throughout the entire work. Additionally, we summarize the results of the performance assessment on different hardware architectures.
Alexander Heinecke, Wolfgang Eckhardt, Martin Horsch, Hans-Joachim Bungartz
Weitere Informationen