GROMACS公司

GROMACS公司

GROMACS标志
描述
GROMACS是一种常用的分子动力学应用程序,用于模拟蛋白质和脂质。
出版商
瑞典皇家理工学院
最新标签
2023.2
被改进的
2024年5月2日
压缩的大小
405.44 MB
多节点支持
多体系结构支持
是的

GROMACS公司

GROMACS是一个分子动力学应用程序,旨在模拟牛顿流体含有数亿到数百万粒子的系统的运动方程。GROMACS旨在模拟蛋白质、脂类、,以及具有许多复杂键合相互作用的核酸。

系统要求

在运行NGC GROMACS容器之前,请确保您的系统满足以下要求。

  • 以下容器运行时之一
  • 以下NVIDIA GPU之一
    • 帕斯卡(sm60)
    • 伏尔塔(sm70)
    • 安培(sm80)
    • 料斗(sm90)

x86_64码

  • 支持AVX指令的CPU
  • 以下CUDA驱动程序版本之一
    • r520(>=.61.05)
    • >= 450.80.02

臂64

  • Marvell ThunderX2 CPU
  • CUDA驱动程序版本>=r460

示例

以下示例演示了如何使用NGC GROMACS容器运行STMV公司基准测试。在一系列系统上的参考性能可以在https://developer.nvidia.com/hpc-application-performance网站.在整个示例中,容器版本将被引用为$GROMACS_TAG(美元),将其替换为要运行的标记。

下载STMV公司基准:

wget公司https://zenodo.org/record/3893789/files/GROMACS_heterogeneous_parallelization_benchmark_info_and_systems_JCP.tar.gz tar xf GROMACS_异构并行化_基准_信息和系统_JCP.tar.gzcd GROMACS _异构并行化_基准_信息_系统_JCP/stmv

正在运行

使用4个GPU(ID为0,1,2,3)运行GROMACS。在这里,我们为每个GPU使用2个线程MPI任务(-ntmpi 8),我们发现它提供了良好的性能。我们为每个线程设置16个OpenMP线程-MPI任务(假设系统中至少有128个CPU内核)。这些可以进行调整以映射到任何特定的硬件系统,并进行试验以获得最佳性能。

码头工人

导出GMX_ENABLE_DIRECT_GPU_COMM=1DOCKER=“DOCKER run--gpus all-it--rm-v${PWD}:/host_PWD--workdir/host_PWD nvcr.io/hpc/gromacs:${gromacs_TAG}”${DOCKER}gmx mdrun-ntmpi 8-ntomp 16-nb gpu-pme gpu-npme 1-update gpu-bonded gpu-nsteps 100000-resetstep 90000-noconfout-dlb no-nstlist 300-pin on-v-gpu_id 0123

奇点

导出GMX_ENABLE_DIRECT_GPU_COMM=1SINGULARITY=“奇点运行--nv-B${PWD}:/host_PWD--PWD/host_pvddocker://nvcr.io/hpc/gromacs:${GROMACS_TAG}“${SINGULARITY}gmx mdrun-ntmpi 8-ntomp 16-nb gpu-pme gpu-npme 1-update gpu-bonded gpu-nsteps 100000-resetstep 90000-noconfout-dlb no-nstlist 300-pin on-v-gpu_id 0123

在基本平台上运行命令

NVIDIA Base Command Platform(BCP)提供了一个现成的云主机解决方案,用于管理开发、工作流和资源管理的端到端生命周期。在运行以下命令之前,请安装并配置ngc cli,可以找到更多信息在这里.

将数据集上载到BCP

上传stmv公司使用以下命令进行数据集

ngc数据集上传--源/stmv/--desc“GROMACS stmv数据集”GROMACS_dataset
在BCP上运行GROMACS

注意:我们必须包括-g<md-log-path>-e<能量日志路径>由于装载的工作目录是只读的,因此必须将输出日志的路径设置为可写的装载目录

单个GPU上的单个节点运行stmv公司4个GPU上的数据集,每个GPU有2个MPI线程,每个线程有15个OpenMP线程-MPI任务总共120个CPU内核。

ngc批处理运行--名称“gromacs_reducentomp120cores”--priority NORMAL--order 50--抢占RUNONCE--min-timeslice 0s--total-runtime 0s--ace<your-ace>--instance dgxa100.80g.4.NORMAL--命令行“/usr/bin/nventry-build_base_dir=/usr/local/gromacs-build_default=avx2_256 gmx mdrun-g/results/md.log-e/results/ener.edr-ntmpi 8-ntomp 15-nb gpu-pme gpu-npme 1-update gpu-bonded gpu-nsteps 100000-resetstep 90000-noconfout-dlb no-nstlist 300-pin on-v-gpu_id 0123”--results/results/--image“hpc/gromacs:2023.2”--组织<your-org>--数据集<dataset-id>:/host_pwd/

建议阅读

GROMACS公司

GROMACS GitHub公司

GROMACS文件

GROMACS GPU加速

GROMACS 2020 GPU优化

使用MPS和MIG通过每个GPU的多个模拟最大化GROMACS吞吐量| NVIDIA技术博客

大规模改进的多节点NVIDI

BCP用户指南