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的目的是拥有更简单、易理解和可扩展的来源代码,以及透明并适合于MDM的教学、基准和研究。在本文中我们介绍MD-Bench,描述其设计和结构以及执行的算法。最后,我们展示了MD-Bench的五个例子,并描述这些例子如何有助于从性能角度更深入地了解MD内核,并揭示一些有趣的业绩洞察。</s>