《转载于sobereva大神》Gromacs 5.0编译方法
编译条件:RHEL6-U1 64bit, Intel Q6600, root。必须有cmake 2.8.8及以上。MKL、icc不是必需的,用MKL不比FFTW更快,用icc比gcc优势也不明显,故没必要装。单机并行不用装MPI库,因为用的是OpenMP并行。跨节点运行基于MPI,可以用OpenMPI 1.6及以上版本或MPICH 1.4.1及以上版本。
运行cmake -version,如果显示的版本低于2.8.8,到这里下载最新的cmake源代码:http://www.cmake.org/cmake/resources/software.html
解压cmake,进入其目录,运行./bootstrap;make;make install,就被安装到了/usr/local/bin下面。删掉cmake目录。
进入Gromacs的解压目录
mkdir build
cd build
cmake .. -DGMX_BUILD_OWN_FFTW=ON -DCMAKE_INSTALL_PREFIX=/sob/gromacs50
make -j //-j代表调用所有核并行编译
make install
在make过程中Gromacs会自动下载FFTW3.3.3并编译之。下载和编译总共只需几分钟。程序被安装到了/sob/gromacs50。删掉Gromacs安装目录,并在用户的.bashrc里加上export PATH=$PATH:/sob/gromacs50/bin。
如果要编译双精度版本,cmake的时候写上-DGMX_DOUBLE=ON。此时不兼容GPU加速。编译出来的可执行文件默认都带着_d后缀,因此可以和单精度版安装到同一目录,不会冲突。
**** CUDA版安装方法
Gromacs通过CUDA支持nVidia的GPU来加速动力学计算,效率很好。如果用的是4核CPU,用高端GeForce显卡可加速>3倍,性价比很高。
先去nVidia网站下载并安装CUDA toolkit到默认路径。其它同上,区别仅是cmake这一步:
cmake .. -DGMX_GPU=ON -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-5.5 -DGMX_BUILD_OWN_FFTW=ON -DCMAKE_INSTALL_PREFIX=/sob/gromacs50
Gromacs从5.0开始也支持Intel XEON phi来加速计算,但只是初步支持,性价也远低于使用高端GeForce显卡,故这里就不说了。
**** 自己装FFTW的情况
有时候安装的机子不通网,Gromacs编译时没法自动联网下载FFTW,就必须先自行下载安装FFTW,然后在编译时调用。过程是:去ftp://ftp.fftw.org/pub/fftw/下载FFTW3.3.3或更高版本,解压并进入目录,运行
./configure --prefix=/sob/fftw333 --enable-sse2 --enable-float --enable-shared
make -j
make install
在编译Gromacs的cmake那步之前先运行
export CMAKE_PREFIX_PATH=/sob/fftw333
然后在cmake时去掉-DGMX_BUILD_OWN_FFTW=ON。
注意--enable-float代表编译单精度版本FFTW。如果是给双精度Gromacs用的,应该把--enable-float去掉。
**** 编译MPI版的方法
去http://www.open-mpi.org下载openmpi,这里用1.6.5版。解压并进入目录后运行
./configure
make all install
然后在cmake时加上-DGMX_MPI=on即可。编译出来的文件都带着_mpi后缀,因此和单节点并行的版本可以装到一起,不会冲突。
注:Gromacs充分对主流的CPU支持的SIMD指令集进行优化,编译时会自动检测CPU架构,采用适当的编译选项,充分利用支持的指令集达到最佳性能。因此,如果几个机子的CPU架构不同,不要把编译好的Gromacs程序直接互拷,否则运行会出问题。
页:
[1]