2023年,gromacs推出了2023版本,其相较于以前的版本有了较大的更新,以及修复了很多bug。主要亮点如下:
1. 全局通信频率不再依赖于nstlist,因此GPU加速提升
2. PME分解已经可以支持到CUDA后端,即可以设置-npme和环境变量GMX GPU_PME DECOMPOSITION,实验性质谨慎使用
3. CUDA Graphs能够降低GPU的启动时间,较少CPU和GPU之间的调度开销。设置环境变量GMX CUDA GRAPH可开启该功能
4. gmx do_dssp不需要外部dssp程序了,GMX已经内置的该程序
5. gmxapi的一些改进
最重要的一点为分析蛋白二级结构的功能gmx do_dssp不需要外部dssp程序了。
本文提供基于windows版本的gromacs 2023安装方法,下面分别讲述CPU和GPU的安装方法:
在下列网址下载Visual Studio 2022 Community,对个人用户是免费的
下载好之后双击安装即可,切记:安装时候勾选:“使用C++的桌面开发”和“用于CMake的Visual C++工具”,如下图所示:
然后在开始菜单找到Developer PowerShell for VS 2022,启动之后使用cd命令进入FFTW库解压的目录,如下示例命令:
cd D:\fftw-3.3.8
记得改为自己的fftw解压目录,之后分别运行下面两条命令:
cmake . -DCMAKE_INSTALL_PREFIX=D:\install\fftw338 -DENABLE_SSE2=ON -DENABLE_AVX=ON -DENABLE_FLOAT=ON -DBUILD_SHARED_LIBS=OFF -G "Visual Studio 17 2022"
cmake --build . --target INSTALL --config Release
-DCMAKE_INSTALL_PREFIX=D:\install\fftw338
为自己安装fftw的目录,记得修改。
解压gromas-2023安装包,通过Developer PowerShell for VS 2022窗口进入解压的目录,并运行下面的命令:
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=D:\install\gmx-2023-cpu -DGMX_FFT_LIBRARY=fftw3 -DCMAKE_PREFIX_PATH=D:\install\fftw338 -DBUILD_SHARED_LIBS=OFF -G "Visual Studio 17 2022"
cmake --build . --target INSTALL --config Release
其中
#为自己的安装目录,记得修改。
-DCMAKE_INSTALL_PREFIX=D:\install\gmx-2023-cpu
#为上一节fftw的安装目录,记得修改。
-DCMAKE_PREFIX_PATH=D:\install\fftw338
编译完成后,手动将D:\install\fftw338\bin里的fftw3f.dll拷到D:\install\gmx-2023-cpu\bin目录下,之后将这个目录加入Path环境变量后就可以用了。
3. 安装groamcs的GPU版本
有GPU硬件,且安装好驱动之后,在下列网址下载CUDA toolkit软件。
只选择安装CUDA分类里的Developent、Runtime和Visual Studio Integration就行。然后在安装好fftw之后,使用下面命令安装gromacs的GPU版本。使用Developer PowerShell for VS 2022窗口进入解压目录后,运行:
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX= D:\install\gmx-2023-GPU -DGMX_FFT_LIBRARY=fftw3 -DCMAKE_PREFIX_PATH= D:\install\fftw338 -G " Visual Studio 17 2022" -DGMX_GPU=ON -DCUDA_TOOLKIT_ROOT_DIR=D:\install\CUDA_toolkit
cmake --build . --target INSTALL --config Release
其中
-DCUDA_TOOLKIT_ROOT_DIR=D:\install\CUDA_toolkit
为CUDA toolkit软件安装路径。编译完成后,手动将D:\install\fftw338\bin里的fftw3f.dll拷到D:\install\gmx-2023-GPU\bin目录下,之后将这个目录加入Path环境变量后就可以用了。