Windows用Visual Studio 2022编译支持CUDA12的gromacs 2025教程

Gromacs编译.交.流:962946828

By------云南乐嘟信息技术有限公司------

1.安装VS2022(企业版、专业版和社区版都可以),但是安装的时候得选使用C++的桌面开发组件。

2.安装CUDA12,下载地址:CUDA Toolkit Archive

3.安装FFTW3.3.10

先在此下载FFTW 3.3.10库:http://www.fftw.org/fftw-3.3.10.tar.gz

打开cmd(必须是cmd,powershell执行以下命令需要做很多设置)

call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"

解压刚刚下载好的fftw3.3.10的源码,并在源码目录下建立build文件夹

进入build文件夹

在cmd中执行以下命令

cmake .. -DCMAKE_INSTALL_PREFIX=D:/applications/fftw3310 -DENABLE_SSE2=ON -DENABLE_AVX=ON -DENABLE_FLOAT=ON -DBUILD_SHARED_LIBS=ON -G "Visual Studio 17 2022"

编译安装FFTW3.3.10,在cmd中执行以下命令

cmake --build . --target INSTALL --config Release -j32

下载gromacs 2025的源码

下载地址:链接:https://ftp.gromacs.org/gromacs/gromacs-2025.2.tar.gz

下载完之后解压文件,解压完后在文件夹里建立build文件夹

在cmd中进入gromacs-2025.2\build文件夹

执行cmake命令

cmake .. -G Ninja -DCMAKE_INSTALL_PREFIX=D:/applications/gromacs -DGMX_FFT_LIBRARY=fftw3 -DCMAKE_PREFIX_PATH=D:/applications/fftw3310 -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DCUDA_cufft_LIBRARY="D:/applications/CUDA/lib/x64/cufft.lib" -DGMX_GPU=CUDA -DGMX_CUDA_TARGET_SM=50

GMX_CUDA_TARGET_SM是显卡支持的架构参数,可以运行下面的软件检测一下,运行之前先把显卡驱动更新至最新版本

Cuda算力检测.exe文件,检测CUDA架构,然后根据检测出来的架构,去修改对应的参数,如检测到的是:SM50,即:-DGMX_CUDA_TARGET_SM=50

链接: https://pan.baidu.com/s/1bpJrAkVw2NYJ4jCLZM-oCA?pwd=56t4 提取码: 56t4

GMX_CUDA_TARGET_SM参考值:sm_50, sm_52, sm_60, sm_61, sm_70, sm_75, sm_80, sm_86, sm_90,我的机器的显卡是英伟达960M的笔记本显卡,支持sm_52,sm_80, sm_90,sm_100, sm_120, 这里的示例用的是sm_80,即:-DGMX_CUDA_TARGET_SM=80。

开始编译(-j32是指用32线程同时编译的意思,如果cpu性能不高可以把32改为8,16都可以,具体看cpu性能

ninja -j 32 install

之后耐心等待编译完成

### GROMACS CUDA 集成与设置 GROMACS 是一款广泛应用于分子动力学模拟的强大工具,其支持通过 GPU 加速来显著提升计算性能。为了实现这一目标,GROMACS 提供了对 NVIDIA CUDA 的原生支持[^1]。 #### 1. 安装依赖项 在安装带有 CUDA 支持GROMACS 前,需确保系统已正确安装以下组件: - **NVIDIA 驱动程序**:版本应满足所选 CUDA 工具包的要求。 - **CUDA Toolkit**:建议使用最新稳定版或官方推荐版本。 - **编译器**:GCC 或 Clang 版本需兼容 GROMACSCUDA 要求。 可以通过以下命令检查驱动和 CUDA 是否正常工作: ```bash nvidia-smi ``` 如果未检测到任何设备,则可能需要重新安装驱动或更新 BIOS 设置以启用 GPU 访问[^1]。 #### 2. 下载并构建 GROMACS 下载源码后,在 CMake 中指定 `GMX_GPU` 参数开启 GPU 功能,并指向本地 CUDA 安装路径: ```bash cmake .. \ -DGMX_BUILD_OWN_FFTW=ON \ -DGMX_GPU=CUDA \ -DCMAKE_C_COMPILER=gcc \ -DCMAKE_CXX_COMPILER=g++ \ -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda make -j$(nproc) make install ``` 此过程会自动链接必要的库文件以及配置适合当前硬件环境的最佳选项[^1]。 #### 3. 运行带 CUDA 的 MD 模拟 完成编译之后,可以利用 `-nb gpu` 开启基于 GPU 的非键合相互作用计算模式;同时还可以调整线程分配比例优化整体效率: ```bash gmx mdrun -v -deffnm em -ntomp 8 -npme 4 -nb gpu ``` 其中参数解释如下: - `-ntomp`: OpenMP 并行化使用的 CPU 核心数; - `-npme`: PME 方法专用的核心数目; - `-nb`: 明确指明采用哪种加速方式(cpu / gpu)。 以上操作能够充分利用现代异构架构的优势从而加快科学探索进程[^1]。 #### 注意事项 尽管大多数情况下默认设定已经足够良好,但在某些特殊场景下仍有必要手动干预一些细节部分比如流控制策略或者共享内存大小等等。这些高级特性通常位于 `.mdp` 文件之中并通过关键字形式体现出来。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值