VASP5.4编译过程说明

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

V ASP5.4编译

1.编译器安装:parallel_studio_xe_2011_sp1_update2_intel64.tgz

解压安装即可,./install.sh:安装中使用的激活码为L3FN-2VRGKX7K

安装完设置环境变量:

For csh/tcsh:

$ source install-dir/bin/compilervars.csh intel64

For bash:

$ source install-dir/bin/compilervars.sh intel64

测试是否成功:which icc

/opt/intel/composer_xe_2011_sp1.9.293/bin/intel64/icc

which ifort

/opt/intel/composer_xe_2011_sp1.9.293/bin/intel64/ifort

2.安装openmpi:openmpi-1.4.5.tar.gz

解压,然后输入./configure CC=icc CXX=icpc F77=ifort FC=ifort 指定编译器之后依次执行make,make install

安装完成后,加入如下三个环境变量:

export PATH=/usr/local/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/lib/openmpi:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

具体路径找自己的,其中少了第三个路径的话可以编译文件,但是运行编译后的文件会说找不到库函数。建议安装完成之后进入解压文件夹(不是安装目录)下的example文件夹中测试程序,输入make之后会自动编译,完成之后输入mpirun –np 8 hello_f90,如果安装正确,会出现:

Hello, world, I am 0 of 8

Hello, world, I am 1 of 8

Hello, world, I am 2 of 8

Hello, world, I am 3 of 8

Hello, world, I am 4 of 8

Hello, world, I am 5 of 8

Hello, world, I am 6 of 8

Hello, world, I am 7 of 8

8是服务器的cpu数量。很多人没有经过这一步测试就直接去编译V ASP,结果两个软件的错误都堆在了一起,到底哪一步错了都不知道。

3.VASP.lib编译

编译库文件, 简单, 直接使用makefile.linux_ifc_P4然后直接make就行。.其中将makefile.linux_ifc_P4中下面三行按照自己的路径改一下即可:

CPP = /opt/intel/composer_xe_2011_sp1.9.293/bin/intel64/icc -E -P -C $*.F >$*.f CC= /opt/intel/composer_xe_2011_sp1.9.293/bin/intel64/icc

FC= /opt/intel/composer_xe_2011_sp1.9.293/bin/intel64/ifort

可能会有错误,不用管,只要得到libdmy.a和linpack_double.o, 即成功

注意:网上帖子有编译GOTOBLAS的步骤,我使用GotoBLAS2-1.13.tar.gz 编译不成功,但是不影响编译V ASP。所以认为可以省略此步。

4.编译mkl

/opt/intel/mkl/interfaces/fftw3xf

make libem64t compiler=intel

完成之后在该目录下得到一个新文件和文件夹。

5.vasp主程序编译:vasp.5.4.1.24Jun15.tar.gz

# tar -zxvf vasp.5.4.1.24Jun15.tar.gz

# cd vasp.5.4.1

# cp arch/makefile.include.linux_intel ./ makefile.include 然后vi makefile.include修改其中的几行:

第一处按手册上说linux 下最好把-DCACHE-SIZE=4000 改成16000

第二处把-DHOST=\"IFC91_ompi\" 也相应改为-DHOST=\"IntelIFC\",虽然这个具体什么意思不太清楚,但感觉还是和openmpi 有关的

第三处,增加一行MKLROOT = /opt/intel/mkl

其他都不动,然后make all

编译完成后,最终在~/vasp/vasp.5.4.1/bin 目录下生成vasp_gam、vasp_ncl、vasp_std 三个可执行文件。然后设置环境变量:

export PATH=$PATH:/soft/vasp/vasp.5.4.1/bin

贴上我成功编译的makefile.include内容:

# Precompiler options

CPP_OPTIONS= -DMPI -DHOST=\"IntelIFC\" -DIFC \

-DCACHE_SIZE=16000 -DPGF90 -Davoidalloc \

-DMPI_BLOCK=8000 -DscaLAPACK -Duse_collective \

-DnoAugXCmeta -Duse_bse_te \

-Duse_shmem -Dtbdyn

CPP = fpp -f_com=no -free -w0 $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS)

FC = mpif90

FCL = mpif90 -mkl

FREE = -free -names lowercase

FFLAGS = -assume byterecl

OFLAG = -O2

OFLAG_IN = $(OFLAG)

DEBUG = -O0

MKLROOT = /opt/intel/mkl

MKL_PATH = $(MKLROOT)/lib/intel64

BLAS =

LAPACK =

BLACS = -lmkl_blacs_openmpi_lp64

SCALAPACK = $(MKL_PATH)/libmkl_scalapack_lp64.a $(BLACS)

OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o \

$(MKLROOT)/interfaces/fftw3xf/libfftw3xf_intel.a

INCS =-I$(MKLROOT)/include/fftw

相关文档
最新文档