编译使用Intel 2018和gcc 7.3
- 下载链接:https://www.ks.uiuc.edu/Research/namd/2.14b1/announce.html
- 解压
$ tar -zxvf NAMD_2.14b1_Source.tar.gz
- 进入目录
$ cd NAMD_2.14b1_Source
- 解压 charm-6.8.2.tar
$ tar xvf charm-6.8.2.tar
-
将charm-6.8.2目录下包含mpicxx的文件全部修改为mpiicxx
-
进入目录
$ cd charm-6.8.2
$ ./build charm++ mpi-linux-x86_64 --with-production
- 进入生成的目录并进行测试
$ cd mpi-linux-x86_64/tests/charm++/megatest/
$ make pgm
$ bsub -I -q q_x86_expr -n 2 ./pgm
- 返回到NAMD_2.14b1_Source
$ cd ../../../../..
- 下载并解压软件所需的库
fftw: http://www.ks.uiuc.edu/Research/namd/libraries/fftw-linux-x86_64.tar.gz
tcl: http://www.ks.uiuc.edu/Research/namd/libraries/tcl8.5.9-linux-x86_64.tar.gz
tcl-threaded: https://www.ks.uiuc.edu/Research/namd/libraries/tcl8.5.9-linux-x86_64-threaded.tar.gz
$ tar xzf fftw-linux-x86_64.tar.gz
$ mv linux-x86_64 fftw
$ tar xzf tcl8.5.9-linux-x86_64.tar.gz
$ mv tcl8.5.9-linux-x86_64 tcl
$ tar xzf tcl8.5.9-linux-x86_64-threaded.tar.gz
$ mv tcl8.5.9-linux-x86_64-threaded tcl-threaded
- 修改Make文件
$ vim Make.charm
# Set CHARMBASE to the top level charm directory.
# The config script will override this setting if there is a directory
# called charm-6.4.0 or charm in the NAMD base directory.
#CHARMBASE = /Projects/namd2/charm-6.4.0
CHARMBASE = ./charm-6.4.0/
- 进入arch目录,对以下文件进行修改
$ vim Linux-x86_64.tcl #修改文件
#TCLDIR=/Projects/namd2/tcl/tcl8.5.9-linux-x86_64
#TCLDIR=/Projects/namd2/tcl/tcl8.5.9-linux-x86_64-threaded
TCLDIR=../tcl
TCLINCL=-I$(TCLDIR)/include
#TCLLIB=-L$(TCLDIR)/lib -ltcl8.5 -ldl
TCLLIB=-L$(TCLDIR)/lib -ltcl8.5 -ldl -lpthread
TCLFLAGS=-DNAMD_TCL
TCL=$(TCLINCL) $(TCLFLAGS)
$ vim Linux-x86_64.fftw #修改文件
#FFTDIR=/Projects/namd2/fftw/linux-x86_64
FFTDIR=../fftw
FFTINCL=-I$(FFTDIR)/include
FFTLIB=-L$(FFTDIR)/lib -lsrfftw -lsfftw
FFTFLAGS=-DNAMD_FFTW
FFT=$(FFTINCL) $(FFTFLAGS)
$ vim Linux-x86_64.mkl #修改文件
FFTDIR=$(MKLROOT)
FFTINCL=-I$(FFTDIR)/include/fftw
#FFTLIB=-L$(FFTDIR)/lib/intel64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core
FFTLIBDIR=$(FFTDIR)/lib/intel64
FFTLIB=-Wl,--start-group $(FFTLIBDIR)/libmkl_intel_lp64.a $(FFTLIBDIR)/libmkl_sequential.a $(FFTLIBDIR)/libmkl_core.a -Wl,--end-group
FFTFLAGS=-DNAMD_FFTW -DNAMD_FFTW_3
FFT=$(FFTINCL) $(FFTFLAGS)
$ vim Linux-x86_64.fftw3 #修改文件
#FFTDIR=$(HOME)/fftw3
FFTDIR=$(MKLROOT)
#FFTINCL=-I$(FFTDIR)/include
FFTINCL=-I$(MKLROOT)/include -I$(FFTDIR)/include/fftw
#FFTLIB=-L$(FFTDIR)/lib -lfftw3f
FFTLIB= -mkl
FFTFLAGS=-DNAMD_FFTW -DNAMD_FFTW_3
FFT=$(FFTINCL) $(FFTFLAGS)
- 返回上层目录并运行 configure
$ cd ..
$ ./config Linux-x86_64-icc --charm-arch mpi-linux-x86_64
- 进入 Linux-x86_64-icc 目录
$ make
$ ./name2
$ ./namd2 src/alanine
- 返回上层目录,下载案例并运行
http://www.ks.uiuc.edu/Research/namd/utilities/apoa1.tar.gz
$ cd ..
$ tar xzf apoa1.tar.gz
$ export PATH=$HOME/namd/NAMD_CVS-2012-09-03_Source/Linux-x86_64-icc:$PATH
$ cd apoa1/
$ bsub -n 16 -q q_x86_expr namd2 apoa1.namd
- 参考资料:
NAMD安装.md
NAMD Custom Build for Better Performance on your Modern GPU Accelerated Workstation – Ubuntu 16.04, 18.04, CentOS 7