Amber10安裝方法
Amber10安裝方法
文/Sobereva @北京科音 2009-Oct-1
這里使用虛擬機中新裝的RHEL5U1-64bit系統作為例子。
編譯環境:主機:Q6600,2G,XP-SP2。虛擬機:vmware6.0.1,RHEL5U1-64bit,雙核,512MB,10GB,默認分區,bash,root,intel-MKL-10.0.4.023,intel fortran compiler 10.1.015,gcc 4.1.2,mpich2-1.0.7/lam-7.1.4。工作目錄/sob。
到intel網站免費下載linux的MKL和ifc(皆Intel 64版),在郵箱里得到相應安裝所需的.lic文件。
默認設置安裝intel fortran compiler到默認文件夾(opt/intel/fce/10.1.015)
在/root/.bashrc中添加:
source /opt/intel/fce/10.1.015/bin/ifortvars.sh (會加入一些信息到/etc/profile)
export FC=/opt/intel/fce/10.1.015/bin/ifort
(如果安裝時提示缺少libstdc++.so.5,下載這個rpm文件,并安裝進系統: ftp://fr2.rpmfind.net/linux/opensuse/distribution/10.3/repo/oss/suse/x86_64/compat-libstdc++-5.0.7-86.x86_64.rpm 此文件在本貼附件中)
默認設置安裝MKL到默認文件夾(/opt/intel/mkl/10.0.4.023)
在/root/.bashrc中添加:
export MKL_HOME=/opt/intel/mkl/10.0.4.023
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/mkl/10.0.4.023/lib/em64t
輸入bash使環境變量生效
并行環境可以用mpich2或lammpi或intel mpi
===========用mpich2===============
到http://www.mcs.anl.gov/research/projects/mpich2/ 下載mpich2-1.0.7.tar.gzmpich2-1.0.7.tar.gz解壓到/sob/mpich2-1.0.7,進入此目錄,運行:
./configure
make
make install (此時編譯好的mpich2的文件已經被安裝到默認路徑/usr/local的各個子目錄下)
touch /etc/mpd.conf
chmod 700 /etc/mpd.conf
將下面加入/etc/mpd.conf:
secretword=<secretword> (比如secretword=ltwd)
(輸入mpd&,然后mpdtrace是否能顯示主機名,如果能出現代表安裝成功。
如果提示諸如gethostbyname_ex failed for xxx,xxx是主機名,則修改/etc/hosts,加入<ip號> <主機名稱> <主機別名>,比如192.168.2.3 f7 f7)
===========用lam-mpi===============
到http://www.lam-mpi.org/7.1/download.php下載lam-7.1.4解壓到/sob/lam-7.1.4,進入此目錄,運行:
./configure
make
make install
===========用intel mpi=============
到intel官方網站下載intel mpi for linux的30天評估版,從填寫的電子郵箱中得到.lic解壓壓縮包,并把.lic放進解壓后的目錄里,運行./install.sh用默認設置和目錄安裝。
也可以從verycd上下載Linux版Intel Cluster Toolkit Compiler V3.1.1,內含ifort、icc、MKL、mpi、debugger等,沒有時間限制。掛載到linux之后先復制到硬盤某目錄,注意目錄不能有空格,進入這個目錄后,將Crack子目錄下的.lic復制到當前目錄,并運行chmod 777 -R * 之后執行./install.sh按說明安裝。
安裝好后將此加入/root/.bashrc: export PATH=$PATH:/opt/intel/impi/3.1/bin
在/root/.bashrc中添加:
export MPI_HOME=/usr/local (如果是intel mpi,目錄寫/opt/intel/impi/3.1)
export AMBERHOME=/sob/amber10
export PATH=$PATH:/sob/amber10/bin
輸入bash使環境變量生效
將AmberTools-1.2.tar.bz2解壓至/sob/amber10
將amber10.tar.bz2也解壓至/sob/amber10,使兩個壓縮包的文件在一個目錄下
下載最新的amber10的bugfix,http://amber.scripps.edu/bugfixes/10.0/bugfix.all,復制到/sob/amber10目錄中,改名為bugfixab.all
下載最新的AmberTools1.2的bugfix,http://amber.scripps.edu/bugfixes/AmberTools/1.2/bugfix.all,復制到/sob/amber10目錄中,改名為bugfixat.all
/sob/amber10> chmod 777 -R *
/sob/amber10> patch -p0 -N -r patch-rejects < bugfixab.all
/sob/amber10> patch -p0 -N -r patch-rejects < bugfixat.all
/sob/amber10/src> ./configure_at gcc
更改config.h中FC=gfortran為FC=ifort,FFLAG中的-O1改為-O3,并加上-axT,刪除-fno-automatic。
/sob/amber10/src> make -f Makefile_at
/sob/amber10/src> ./configure_amber ifort
更改config_amber.h中FOPTFLAGS中的-axWP為-axT
/sob/amber10/src> make serial (使用intel mpi可能出現和netcdf相關的錯誤,make clean然后重新make serial就能解決)
/sob/amber10/src> make clean
/sob/amber10/src> ./configure_amber -mpich2 ifort (若用lammpi,把-mpich2改為-lam。若用intel mpi,把-mpich2改為-intelmpi)
更改config_amber.h中FOPTFLAGS中的-axWP為-axT
/sob/amber10/src> make parallel
***安裝pmemd***
/sob/amber10/src/pmemd> ./configure linux_em64t ifort mpich2 bintraj (也支持其它并行環境,見./configure --help)
更改config.h中F90_OPT_HI中的-xP為-axT
/sob/amber10/src/pmemd> make install
***************
安裝完畢,進行測試
測試串行版本:
/sob/amber10/test>make test
/sob/amber10/test>make test.serial.QMMM
我這里bintraj和divcon是failure,其它都PASS,應該是程序自身的bug。
測試并行版本:
如果用lam-mpi,把/root/.bashrc中設定的環境變量都復制到某個用戶的主目錄下的.bashrc,然后登陸到那個用戶再執行下列命令,因為root用戶不能啟動lamboot。
/sob/amber10/test>mpd& (若用lam-mpi,輸入lamboot。若用intel mpi,輸入mpdboot)
/sob/amber10/test>export DO_PARALLEL='mpirun -np 2' (有些項目需要-np 4并行,-np 2時自動跳過)
/sob/amber10/test>make test.parallel 全部PASS
/sob/amber10/test>make test.parallel.QMMM 全部PASS
為節省空間,此后可刪掉test目錄。src目錄下除了mm_pbsa目錄以外都可以刪掉節省空間,因為mm_mmpbsa.pl在執行時還需要那個文件夾里的文件。
此外,還有一種更簡單的安裝方法,直接調用amber10里面自帶的lam-7.1.3的配置腳本。
MKL、ifort安裝過程不變。然后略過裝lam-7.1.4那步,也不用設MPI_HOME。其它過程都不變,一直到make serial并且make clean之后,輸入
./configure_amber -lamsource ifort
更改config_amber.h中FOPTFLAGS中的-axWP為-axT
./configure_lam (這步自動將自帶的lam-7.1.3裝上)
make parallel
就裝好了,測試步驟同上
PS:
Intel的CPU為提高性能一定要用ifort。C語言編的部分運算量不大,除非要用ambertools中NAB做長時間模擬,否則一般不需要用icc,也無須專門設置優化參數。
用不用MKL對性能影響約1/6。
ambertools基本上只有自帶的MOPAC7是fortran語言編的,用不到半經驗方法的話用gfortran對性能不會有什么損失。
系統不要用太新或者太舊的版本,自帶庫文件版本和編譯器版本有異等因素都可能造成編譯失敗,RHEL5U1、Fedora7是我推薦的。
-axT是優化選項,針對Core2架構,對不同類型intel的CPU應當用不同優化選項,詳見/opt/intel/fce(or cce)/10.1.015/doc/Doc_index.htm,進入Document那項,選Optimizing Applications-Using Compiler Optimizations