arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1906.01211cs.MScs.DCphysics.chem-phphysics.comp-ph
收藏

提升 Tinker-HP 分子建模软件包的性能 [文章 v1.0]

Raising the Performance of the Tinker-HP Molecular Modeling Package [Article v1.0]

Luc-Henri Jolly, Alejandro Duran, Louis Lagardère, Jay W. Ponder, Pengyu Ren, Jean-Philip Piquemal

AI总结:

本文回顾了 Tinker-HP 分子建模软件包的高性能计算能力,重点介绍如何通过 Intel AVX-512 指令集优化其大规模并行分子动力学引擎以适应 Intel CPU 千万亿次级架构,并在 CHARMM 和 AMOEBA 力场下显著提升了计算性能。

摘要:

这篇动态论文回顾了 Tinker-HP 分子建模软件包当前的高性能计算(HPC)能力。我们在此重点关注 Tinker-HP 中存在的参考、双精度、大规模并行分子动力学引擎,该引擎专用于执行大规模模拟。我们展示了如何使其适应近期的 Intel 中央处理器(CPU)千万亿次级架构。首先,我们讨论了近期 Intel 处理器(例如 Intel Xeon Scalable 和 Intel Xeon Phi 第二代处理器)中存在的新的 Intel 高级矢量扩展 512(Intel AVX-512)指令集,这些指令允许进行更大的矢量化增强。这些指令构成了使用最新处理器时潜在计算增益的核心来源,证明了开发人员进行大量矢量化工作的合理性。然后,我们简要回顾了 Tinker-HP 代码的组织结构,确定了需要进行 Intel AVX-512 优化的计算热点,并提出了一种通用且最优的策略来矢量化代码的这些特定部分。我们打算以教学的方式展示我们的优化策略,以便使其他对提升自身软件性能感兴趣的研究人员和学生受益。最后,我们展示了与未优化代码相比,在经典非极化(CHARMM)和极化力场(AMOEBA)下,在串行和并行扩展极限下获得的性能提升。随着我们在本文新版本之间的相关 Github 存储库上积累新数据,本文将不断更新。

英文摘要:

This living paper reviews the present High Performance Computing (HPC) capabilities of the Tinker-HP molecular modeling package. We focus here on the reference, double precision, massively parallel molecular dynamics engine present in Tinker-HP and dedicated to perform large scale simulations. We show how it can be adapted to recent Intel Central Processing Unit (CPU) petascale architectures. First, we discuss the new set of Intel Advanced Vector Extensions 512 (Intel AVX-512) instructions present in recent Intel processors (e.g., the Intel Xeon Scalable and Intel Xeon Phi 2nd generation processors) allowing for larger vectorization enhancements. These instructions constitute the central source of potential computational gains when using the latest processors, justifying important vectorization efforts for developers. We then briefly review the organization of the Tinker-HP code and identify the computational hotspots which require Intel AVX-512 optimization and we propose a general and optimal strategy to vectorize those particular parts of the code. We intended to present our optimization strategy in a pedagogical way so it could benefit to other researchers and students interested in gaining performances in their own software. Finally we present the performance enhancements obtained compared to the unoptimized code both sequentially and at the scaling limit in parallel for classical non-polarizable (CHARMM) and polarizable force fields (AMOEBA). This paper never ceases to be updated as we accumulate new data on the associated Github repository between new versions of this living paper.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑