MUSA移植案例系列 - 分子动力学模拟应用GROMACS
2024-06-25
1. 介绍
Gromacs 是一款用于模拟生物大分子的软件,其核心是一个高效的分子动力学模拟程序。Gromacs 通过使用 GPU 加速来提高计算效率,目前 Gromacs 的 GPU 加速功能已经支持 NVIDIA、AMD 的 GPU 以及能够运行 OpenCL 程序的设备。为了让 Gromacs 能够在 MUSA 平台上运行,我们需要将 Gromacs 移植到 MUSA 平台上,从而实现利用 MUSA 平台的高性能计算资源来加速 Gromacs 计算的目的。
目前,Gromacs MUSA 加速版,包括利用 OpenMP 支持单节点多卡的版本,和利用 MPI 支持多节点多卡的版本都已经功能完备,并在 KUAE 集群上验证通过。本文将介绍将 Gromacs 移植到 MUSA 平台上的过程。
2. 准备工作
2.1. MUSA 环境准备
本文使用的硬件平台是 KUAE 千卡集群,其配备的 GPU 类型是 S4000,架构为曲院2代(后称 QY2)。理论上 QY1/2 的架构差别不大,因此本文的移植过程也适用于 QY1 架构的 GPU,如 S80。
本文使用的操作系统是 Ubuntu 20.04,GPU 驱动和 MUSA Toolkits 尽量使用最新的版本;MUSA 环境的搭建请参考 MUSA 官方文档。
为了实现单节点多卡以及多节点多卡的加速,系统中还应根据需要分别安装 OpenMP 和 OpenMPI。
2.2. Gromacs 源码准备
Gromacs 的源码可以从官方网站下载,也可以从 GitHub 上的 Gromacs 仓库获取。本文使用的 Gromacs 版本是 2023.3。更新的版本应该也适用于本文的移植过程。