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.pdbStep 1: 生成输入文件
注意
此命令需要交互式输入,请单独执行。提示时选择 14: GROMOS96 54a7 和 1: SPC。
bash
gmx pdb2gmx -f 2n6m.pdb -o esculentin.gro -p esculentin.top -ignhStep 2: 设置模拟参数
bash
gmx editconf -f esculentin.gro -o esculenbox.gro -box 5 5 5
gmx solvate -cp esculenbox.gro -o solvated.gro -p esculentin.topStep 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 100Step 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 tar2. 安装 CMake
版本要求
GROMACS 2023.x 对 CMake 4.x 兼容性不佳,建议使用 3.26–3.27 版本。
bash
conda install -y -c conda-forge "cmake>=3.26,<3.28"
cmake --version3. 确认 CUDA 环境
bash
/usr/local/cuda/bin/nvcc --version | head -n 54. 下载 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.25. 配置构建目录
bash
rm -rf build
mkdir build
cd build6. 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=false | CUDA 13 必须参数,避免模板符号在链接阶段报错(CUDA ≤12 可不加) |
校验配置是否生效:
bash
grep -E "CUDA_NVCC_FLAGS:STRING=|CMAKE_INSTALL_PREFIX:PATH=" CMakeCache.txt7. 编译与安装
bash
make -j$(nproc)
make install确认安装成功:
bash
ls -l /usr/local/gromacs/bin/gmx8. 启用 GROMACS 环境
bash
source /usr/local/gromacs/bin/GMXRC写入 bashrc(可选):
bash
echo "source /usr/local/gromacs/bin/GMXRC" >> ~/.bashrc9. 验证安装
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 仅在编译阶段使用,安装完成后可忽略
相关文档
- CUDA/cuDNN - CUDA 环境配置
- Conda - Conda 环境管理
