咲慕流年同人漫画
咲慕流年同人漫画
咲慕流年同人漫画
Windows原生环境下使用MinGW和CMake编译使用fftpack的GROMACS。
GROMACS源代码下载:GROMACS下载地址。
工具准备:MinGW,CMake,Python。
从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中执行以下命令:
1 | cd F:/VSCodeFile/GROMACS |
进入解压目录后,使用以下指令构建CMake项目:
1 | cmake -S . -B build -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=F:/GROMACS-fftpack -DGMX_FFT_LIBRARY=fftpack -DCMAKE_BUILD_TYPE=Release |
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构建目录,进行编译安装;--target install 构建install目标,使用CMakeLists.txt中的install()命令进行安装;
更多编译选项可查看GROMACS官方文档。
等待编译完成后,GROMACS二进制文件安装到了F:/GROMACS-fftpack/bin目录下。将 F:/GROMACS-fftpack/bin 目录添加到系统环境变量PATH中,即可使用,即可在windows的CMD或PowerShell中使用gmx命令。使用 gmx -version 命令查看GROMACS版本信息,验证安装是否成功,输出以下信息:
1 | PS C:\Users\TTT> gmx -version |
Windows系统上使用MSYS2环境编译fftw3库。使用Windows原生环境编译使用fftw3库的GROMACS。
下载安装MSYS2。打开MSYS2 UCRT64终端,使用以下指令安装MinGW,Python,sphinx,安装过程中输入y确认安装。
1 | pacman -S mingw-w64-ucrt-x86_64-gcc |
下载fftw3库源码,解压到任意目录,比如 F:/VSCodeFile/fftw3 。进入解压后的目录。在MSYS2 UCRT64终端中执行以下命令配置并编译fftw3库:
1 | ./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 |
./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项目:
1 | 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 |
-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命令。