Skip to content

GROMACS

GROMACS 是用于研究生物分子体系的分子动力学程序包,广泛应用于蛋白质、脂质、核酸等生物大分子的模拟研究。

使用预置镜像

推荐方式

在创建实例时选择 GROMACS 镜像,即可获得预装好的 GROMACS 环境。预置版本已使用 CUDA 编译,默认将使用 GPU 加速计算。

创建实例后,可直接使用 gmx 命令:

bash
gmx --version

快速测试

以下是一个完整的 GROMACS 测试用例,用于验证环境是否正常工作。

Step 0: 准备测试文件

bash
mkdir test && cd test
wget https://confluence.csuc.cat/download/attachments/29362353/2n6m.pdb

Step 1: 生成输入文件

注意

此命令需要交互式输入,请单独执行。提示时选择 14: GROMOS96 54a71: SPC

bash
gmx pdb2gmx -f 2n6m.pdb -o esculentin.gro -p esculentin.top -ignh

Step 2: 设置模拟参数

bash
gmx editconf -f esculentin.gro -o esculenbox.gro -box 5 5 5
gmx solvate -cp esculenbox.gro -o solvated.gro -p esculentin.top

Step 3: 配置模拟选项

bash
cat > options.mdp << EOF
integrator        = md
nsteps            = 50000000
nstxout           = 50000
coulombtype       = PME
fourierspacing    = 0.15
tcoupl            = v-rescale
tau-t             = 0.2 0.2
ref-t             = 298.15 298.15
tc-grps           = Protein Non-protein
pcoupl            = berendsen
compressibility   = 4.5e-5
tau-p             = 0.2
ref-p             = 1.0
EOF

gmx grompp -f options.mdp -c solvated.gro -p esculentin.top -o esculentin.tpr -maxwarn 100

Step 4: 运行模拟

bash
gmx mdrun -s esculentin.tpr

运行成功后,将看到 GPU 加速相关的输出信息。

手动安装 GROMACS

如需安装特定版本或自定义编译选项,可按以下步骤手动安装。

适用环境

  • Linux(Ubuntu / Debian)
  • NVIDIA GPU
  • CUDA Toolkit 13.x

1. 安装系统依赖

bash
apt-get update
apt-get install -y \
  make gcc g++ ninja-build \
  build-essential \
  ca-certificates \
  wget tar

2. 安装 CMake

版本要求

GROMACS 2023.x 对 CMake 4.x 兼容性不佳,建议使用 3.26–3.27 版本。

bash
conda install -y -c conda-forge "cmake>=3.26,<3.28"
cmake --version

3. 确认 CUDA 环境

bash
/usr/local/cuda/bin/nvcc --version | head -n 5

4. 下载 GROMACS 源码

bash
cd /tmp
wget -O gromacs-2023.2.tar.gz https://ftp.gromacs.org/gromacs/gromacs-2023.2.tar.gz
tar xfz gromacs-2023.2.tar.gz
cd gromacs-2023.2

5. 配置构建目录

bash
rm -rf build
mkdir build
cd build

6. CMake 配置

bash
cmake .. \
  -DCMAKE_INSTALL_PREFIX=/usr/local/gromacs \
  -DGMX_GPU=CUDA \
  -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \
  -DGMX_BUILD_OWN_FFTW=ON \
  -DREGRESSIONTEST_DOWNLOAD=OFF \
  -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
  -DCMAKE_CXX_FLAGS="-fPIC" \
  -DCUDA_NVCC_FLAGS="--compiler-options=-fPIC;-static-global-template-stub=false"

关键参数说明:

参数说明
-DGMX_GPU=CUDA启用 CUDA GPU 支持
--compiler-options=-fPIC生成共享库所需的位置无关代码
-static-global-template-stub=falseCUDA 13 必须参数,避免模板符号在链接阶段报错(CUDA ≤12 可不加)

校验配置是否生效:

bash
grep -E "CUDA_NVCC_FLAGS:STRING=|CMAKE_INSTALL_PREFIX:PATH=" CMakeCache.txt

7. 编译与安装

bash
make -j$(nproc)
make install

确认安装成功:

bash
ls -l /usr/local/gromacs/bin/gmx

8. 启用 GROMACS 环境

bash
source /usr/local/gromacs/bin/GMXRC

写入 bashrc(可选):

bash
echo "source /usr/local/gromacs/bin/GMXRC" >> ~/.bashrc

9. 验证安装

bash
gmx --version

关键检查项:

  • GROMACS version: 2023.2
  • GPU support: CUDA
  • GPU FFT library: cuFFT
  • CUDA runtime / driver 正常显示

10. GPU 运行测试

bash
gmx mdrun -s test.tpr -nsteps 20000 -ntmpi 1 -ntomp 8 -v

期望看到:

text
1 GPU selected for this run
PP:0,PME:0
PME tasks will do all aspects on the GPU

使用建议

性能优化

  • 小体系(<50k atoms)建议使用单 GPU,多 GPU 反而可能更慢
  • /tmp 适合用于源码编译,但最终产物应安装到 /usr/local
  • CMake 仅在编译阶段使用,安装完成后可忽略

相关文档

智算无疆 川流不息