Molecular dynamics (MD) simulations provide considerable benefits for the investigation and experimentation of systems at atomic level. Their usage is widespread into several research fields, but their system size and timescale are also crucially limited by the computing power they can make use of. Performance engineering of MD kernels is therefore important to understand their bottlenecks and point out possible improvements. For that reason, we developed MD-Bench, a proxy-app for short-range MD kernels that implements state-of-the-art algorithms from multiple production applications such as LAMMPS and GROMACS. MD-Bench is intended to have simpler, understandable and extensible source code, as well as to be transparent and suitable for teaching, benchmarking and researching MD algorithms. In this paper we introduce MD-Bench, describe its design and structure and implemented algorithms. Finally, we show five usage examples of MD-Bench and describe how these are useful to have a deeper understanding of MD kernels from a performance point of view, also exposing some interesting performance insights.
翻译:分子动力学(MD)模拟为原子级系统的研究与实验提供了显著优势,其应用已广泛涵盖多个研究领域,但系统规模与时间尺度仍受限于可用计算能力。因此,MD核心的性能工程对于理解其瓶颈并指出潜在改进方向至关重要。为此,我们开发了MD-Bench——一款面向短程MD核心的代理应用,它实现了来自LAMMPS、GROMACS等多个生产软件的最新算法。MD-Bench旨在提供更简洁、易懂且可扩展的源代码,同时保持透明性,适用于教学、基准测试及MD算法研究。本文介绍了MD-Bench的设计、架构及已实现的算法,最后展示了五个应用实例,从性能视角揭示这些实例如何加深对MD核心的理解,并呈现若干有趣的性能洞察。