Gromacs从4.6version开始就不再支持原有的configure创建Makefile的编译方法,转而全面使用cmake的编译方法。此方法相较原来的方法在编译过程更方便和快捷。这里把编译4.6.2的执行脚本贴给大家参考。
我这里使用的编译器是GNU 4.1.2 | openmpi 1.6 | fftw 3.2.2 | cmake 2.8.11.1
首先如果你的linux上的 cmake版本低于2.8请从新安装最新版的cmake,否则你的编译存在失败的风险。
cmake 安装script
------------------------------------------------------
#!/bin/bash
./configure --prefix=/opt/cmake/2.8.11.1
make
make install
------------------------------------------------------
openmpi 不在此赘述
fftw 安装script
------------------------------------------------------
#!/bin/bash
export OPENMPI_DIR=/opt/openmpi/1.6
export PATH=${OPENMPI_DIR}/bin:${PATH}
export LD_LIBRARY_PATH=${OPENMPI_DIR}/lib:${LD_LIBRARY_PATH}
./configure --prefix=/opt/fftw/3.3.2 \
--enable-sse2 --with-pic\
CC=gcc MPICC=${OPENMPI_DIR}/bin/mpicc F77=gfortran
make
make install
------------------------------------------------------
gromacs 安装script
------------------------------------------------------
#!/bin/bash
export CMAKE_DIR=/hopt/cmake/2.8.11.1
export OPENMPI_DIR=/opt/openmpi/1.6
export FFTW_DIR=/opt/fftw/3.3.2
export PATH=${CMAKE_DIR}/bin:${OPENMPI_DIR}/bin:${FFTW_DIR}/bin:${PATH}
export LD_LIBRARY_PATH=${CMAKE_DIR}/lib:${OPENMPI_DIR}/lib:${FFTW_DIR}/lib:${LD_LIBRARY_PATH}
mkdir build-gromacs
cd build-gromacs
cmake .. -DGMX_BINARY_SUFFIX=_mpi_d \
-DGMX_DEFAULT_SUFFIX=ON \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_INSTALL_PREFIX=/opt/gromacs/4.6.2-openmpi.gnu.openmp \
-DGMX_MPI=ON \
-DCMAKE_PREFIX_PATH=${CMAKE_DIR}:${OPENMPI_DIR}:${FFTW_DIR} \
-DCMAKE_LIBRARY_PATH=${CMAKE_DIR}/lib:${OPENMPI_DIR}/lib:${FFTW_DIR}/lib \
-DGMX_BUILD_OWN_FFTW=OFF \
-DCMAKE_CXX_COMPILER=${OPENMPI_DIR}/bin/mpicxx \
-DGMX_FORCE_CXX=${OPENMPI_DIR}/bin/mpicxx \
-DCMAKE_C_COMPILER=${OPENMPI_DIR}/bin/mpicc \
-DGMX_GPU=OFF \
-DGMX_DOUBLE=ON \
-DGMX_OPENMP=ON \
-DGMX_THREAD_MPI=OFF \
-DGMX_LOAD_PLUGINS=OFF \
-DFFTW_INCLUDE_DIR=${FFTW_DIR}/include \
-DGMX_DISABLE_FFTW_MEASURE=ON \
-DFFTW_LIBRARY=${FFTW_DIR}/lib/libfftw3.a
make -j 8 ###同时使用8个cpu进行编译,大家可以适当调整
make install
------------------------------------------------------
我开启了mpi和openmp两种并行计算方法,这也是现在最常用的并行计算方法。由于没有GPU计算节点,所以我关闭了GPU的计算功能,如果你的机器上已经安装GPU节点,可以开启此项功能。
最后祝大家分子模拟成功!
我这里使用的编译器是GNU 4.1.2 | openmpi 1.6 | fftw 3.2.2 | cmake 2.8.11.1
首先如果你的linux上的 cmake版本低于2.8请从新安装最新版的cmake,否则你的编译存在失败的风险。
cmake 安装script
------------------------------------------------------
#!/bin/bash
./configure --prefix=/opt/cmake/2.8.11.1
make
make install
------------------------------------------------------
openmpi 不在此赘述
fftw 安装script
------------------------------------------------------
#!/bin/bash
export OPENMPI_DIR=/opt/openmpi/1.6
export PATH=${OPENMPI_DIR}/bin:${PATH}
export LD_LIBRARY_PATH=${OPENMPI_DIR}/lib:${LD_LIBRARY_PATH}
./configure --prefix=/opt/fftw/3.3.2 \
--enable-sse2 --with-pic\
CC=gcc MPICC=${OPENMPI_DIR}/bin/mpicc F77=gfortran
make
make install
------------------------------------------------------
gromacs 安装script
------------------------------------------------------
#!/bin/bash
export CMAKE_DIR=/hopt/cmake/2.8.11.1
export OPENMPI_DIR=/opt/openmpi/1.6
export FFTW_DIR=/opt/fftw/3.3.2
export PATH=${CMAKE_DIR}/bin:${OPENMPI_DIR}/bin:${FFTW_DIR}/bin:${PATH}
export LD_LIBRARY_PATH=${CMAKE_DIR}/lib:${OPENMPI_DIR}/lib:${FFTW_DIR}/lib:${LD_LIBRARY_PATH}
mkdir build-gromacs
cd build-gromacs
cmake .. -DGMX_BINARY_SUFFIX=_mpi_d \
-DGMX_DEFAULT_SUFFIX=ON \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_INSTALL_PREFIX=/opt/gromacs/4.6.2-openmpi.gnu.openmp \
-DGMX_MPI=ON \
-DCMAKE_PREFIX_PATH=${CMAKE_DIR}:${OPENMPI_DIR}:${FFTW_DIR} \
-DCMAKE_LIBRARY_PATH=${CMAKE_DIR}/lib:${OPENMPI_DIR}/lib:${FFTW_DIR}/lib \
-DGMX_BUILD_OWN_FFTW=OFF \
-DCMAKE_CXX_COMPILER=${OPENMPI_DIR}/bin/mpicxx \
-DGMX_FORCE_CXX=${OPENMPI_DIR}/bin/mpicxx \
-DCMAKE_C_COMPILER=${OPENMPI_DIR}/bin/mpicc \
-DGMX_GPU=OFF \
-DGMX_DOUBLE=ON \
-DGMX_OPENMP=ON \
-DGMX_THREAD_MPI=OFF \
-DGMX_LOAD_PLUGINS=OFF \
-DFFTW_INCLUDE_DIR=${FFTW_DIR}/include \
-DGMX_DISABLE_FFTW_MEASURE=ON \
-DFFTW_LIBRARY=${FFTW_DIR}/lib/libfftw3.a
make -j 8 ###同时使用8个cpu进行编译,大家可以适当调整
make install
------------------------------------------------------
我开启了mpi和openmp两种并行计算方法,这也是现在最常用的并行计算方法。由于没有GPU计算节点,所以我关闭了GPU的计算功能,如果你的机器上已经安装GPU节点,可以开启此项功能。
最后祝大家分子模拟成功!