计算化学首页




            

GROMACS

Materials Studio

GROMACS

GROMACS with fftpack

Windows原生环境下使用MinGW和CMake编译使用fftpack的GROMACS。 GROMACS源代码下载:GROMACS下载地址。 工具准备:MinGWCMakePython。 从Github上MinGW的release页面下载 x86_64-[版本号]-release-win32-seh-ucrt-rt_v12-rev0.7z 版MinGW编译器,并解压到任意目录,比如 D:/mingw64 。将D:/mingw64/bin目录添加到系统环境变量PATH中。在PowerShell中使用 gcc --version 或 g++ --version 命令验证MinGW是否安装成功。从CMake和Python官网下载对应Windows系统版本的安装程序,安装时勾选添加到环境变量。安装完成后在PowerShell中使用 cmake --version 和 python --version 查看版本信息验证安装。 下载GROMACS源代码,解压到任意目录,比如 F:/VSCodeFile/GROMACS/ 。使用 tar -zxvf [源代码文件名] 解压GROMACS源代码,并进入该目录。在PowerShell中执行以下命令:
cd F:/VSCodeFile/GROMACS tar -zxvf gromacs-2024.5.tar.gz cd gromacs-2024.5
进入解压目录后,使用以下指令构建CMake项目:
cmake -S . -B build -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=F:/GROMACS-fftpack -DGMX_FFT_LIBRARY=fftpack -DCMAKE_BUILD_TYPE=Release cmake --build build -j4 --target install
cmake参数解释: -S . 指定当前目录作为源代码目录; -B build 指定构建目录为build文件夹,用于存放编译过程中生成的文件; -G "MinGW Makefiles" 指定使用MinGW的Makefile生成器。"MinGW Makefiles"生成器会构建MinGW编译器的makefile文件。使用cmake -G查看所有可用的生成器; -DCMAKE_INSTALL_PREFIX=指定的GROMACS安装路径,比如作者的安装路径F:/GROMACS-fftpack; -DGMX_FFT_LIBRARY=fftpack 指定使用fftpack库支持FFT (Fast Fourier Transform) 计算。还可以使用fftw3,mkl等其他库; -DCMAKE_BUILD_TYPE=Release 指定编译类型为发布模式,编译器一般会对Release模式进行优化,提高运行效率; --build build 指定CMake构建目录,进行编译安装; -j4 指定并行编译的线程数; --target install 构建install目标,使用CMakeLists.txt中的install()命令进行安装; 更多编译选项可查看GROMACS官方文档。 等待编译完成后,GROMACS二进制文件安装到了F:/GROMACS-fftpack/bin目录下。将F:/GROMACS-fftpack/bin目录添加到系统环境变量PATH中,即可使用,即可在windows的CMD或PowerShell中使用gmx命令。使用 gmx -version 命令查看GROMACS版本信息,验证安装是否成功,输出以下信息:
PS C:\Users\TTT> gmx -version :-) GROMACS - gmx, 2024.5 (-: Executable: F:\GROMACS-fftpack\bin\gmx.exe Data prefix: F:\GROMACS-fftpack Working dir: C:\Users\TTT Command line: gmx -version GROMACS version: 2024.5 Precision: mixed Memory model: 64 bit MPI library: thread_mpi OpenMP support: enabled (GMX_OPENMP_MAX_THREADS = 128) GPU support: disabled SIMD instructions: SSE2 CPU FFT library: fftpack (built-in) GPU FFT library: none Multi-GPU FFT: none RDTSCP usage: enabled TNG support: enabled Hwloc support: disabled Tracing support: disabled C compiler: D:/mingw64/bin/gcc.exe GNU 13.2.0 C compiler flags: -fexcess-precision=fast -funroll-all-loops -msse2 -Wno-missing-field-initializers -O3 -DNDEBUG C++ compiler: D:/mingw64/bin/c++.exe GNU 13.2.0 C++ compiler flags: -fexcess-precision=fast -funroll-all-loops -msse2 -Wno-missing-field-initializers -Wno-cast-function-type-strict SHELL:-fopenmp -O3 -DNDEBUG BLAS library: Internal LAPACK library: Internal

GROMACS with fftw3

Windows系统上使用MSYS2环境编译fftw3库。使用Windows原生环境编译使用fftw3库的GROMACS。 下载安装MSYS2。打开MSYS2 UCRT64终端,使用以下指令安装MinGW,Python,sphinx,安装过程中输入y确认安装。
pacman -S mingw-w64-ucrt-x86_64-gcc pacman -S mingw-w64-ucrt-x86_64-python pacman -S mingw-w64-ucrt-x86_64-python-sphinx
下载fftw3库源码,解压到任意目录,比如 F:/VSCodeFile/fftw3 。进入解压后的目录。在MSYS2 UCRT64终端中执行以下命令配置并编译fftw3库:
./configure --disable-alloca --with-our-malloc16 --enable-shared --disable-static --enable-threads --with-combined-threads --enable-portable-binary --with-imcoming-stack-boundary=2 --enable-float --enable-sse2 --enable-avx --prefix=/f/fftw3-sse2-avx make -j4 make install
./configure的参数详细请参考Windows Installation Notes以及Installation on Unix。 编译过程中可能会显示缺少某些依赖,可在MSYS2Base Packages页面搜索相应依赖,并MSYS2终端版本在终端中使用 pacman -S [name of package] 命令安装缺失的依赖。 ./configure 和 make 过程时间较长,尽量第一次就将依赖库安装好。编译完成后,fftw3库安装到了F:/fftw3-sse2-avx/目录下。 打开PowerShell,进入GROMACS源代码目录,使用以下指令构建CMake项目:
cmake -S . -B build -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=F:/GROMACS-fftw3 -DGMX_FFT_LIBRARY=fftw3 -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=F:/fftw3-sse2-avx cmake --build build -j4 --target install
-DGMX_FFT_LIBRARY=fftw3 指定使用fftw3库支持FFT计算; -DCMAKE_PREFIX_PATH=F:/fftw3-sse2-avx 指定fftw3库的安装路径,CMake会在此目录下查找fftw3库的头文件和动态链接库。 等待编译完成后,GROMACS二进制文件安装到了F:/GROMACS-fftw3/bin/目录下。将F:/fftw3-sse2-avx/bin/目录下的libfftw3f-3.dll文件复制到F:/GROMACS-fftw3/bin/目录中并添加到系统环境变量PATH中,即可在windows的CMD或PowerShell中使用gmx命令。

GROMACS使用