一、intel-2020 编译器安装<可视化桌面安装>
- tar空格-zxvf parallel_studio_xe_2020_update4_cluster_edition.tgz
- cd 上述解压后的安装包
- ./install_GUI.sh (出现一个界面)
- 勾选 I accept ,选择 NEXT
- 勾选 I do NOT consent to the ,选择 NEXT(需要一会反应时间)
- 继续 NEXT
- (有一个需要填写序列号的界面)勾选 Choose alternative activation ,选择 NEXT
- 勾选 activation off* ,选择 NEXT。(出现 Activate offline using a license file 界面)选择 Browse,(需要选择和解压安装包在同一目录下的.lic 文件)<此文件需copy>,选择 NEXT
- 勾选 customize(查看安装路径)/opt/intel 选择 NEXT
- 勾选 Install on the current system only 选择 NEXT
- (不用勾选取消,默认即可)选择 NEXT
- 选项 install > finish (安装完成)
- Vi空格~/.bashrc
添加环境变量,根据实际情况修改路径
source /opt/intel/compilers_and_libraries/linux/bin/compilervars.sh intel64
export PATH=/opt/intel/compilers_and_libraries/linux/bin:$PATH
export LD_LIBRARY_PATH=/opt/intel/compilers_and_libraries/linux/mkl/lib/intel64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/intel/compilers_and_libraries/linux/lib/intel64:$LD_LIBRARY_PATH
- source空格~/.bashrc
- Which ifort (查看是否有路径,来判断安装是否成功)
二、fftw-3.3.7 安装
- 解压 tar空格-zxvf fftw-3.3.7.tar.gz
- 进入解压出来的 fftw-3.3.7 文件夹执行命令 ./configure空格--prefix=/opt/fftw空格--enable-mpi 配置makefile,/opt/的路径要根据实际情况填写。命令中一定要加 --enable-mpi 否则在安装好的 lib 文件夹内无法生成此次编译VASP 所必需的 libfftw3_mpi.a 文件
- 执行命令一 make ,随后执行命令二 make install 安装完成
- vi空格~/.bashrc 配置如下,路径根据实际情况填写
#fftw
export PATH=/opt/fftw/bin:$PATH
export LD_LIBRARY_PATH=/opt/fftw/lib:$LD_LIBRARY_PATH
- source空格~/.bashrc
- 执行命令 fftw-wisdom 查看是否安装成功
三、VASP.6.4.2 安装
- 解压 tar空格-zxvf vasp.6.4.2.tgz
- cd 进入vasp.6.4.2/arch,将makefile.include.intel 复制到vasp.6.4.2文件夹下并修改文件名为makefile.include。vi空格makefile.include 查看文件内容,认真核对尤其是路径,6.4.2版本直接复制过去就行了,记得改路径。
# Precompiler options
CPP_OPTIONS= -DHOST=\"LinuxIFC\"\
-DMPI -DMPI_BLOCK=8000 -Duse_collective \
-DscaLAPACK \
-DCACHE_SIZE=4000 \
-Davoidalloc \
-Dvasp6 \
-Duse_bse_te \
-Dtbdyn \
-Dfock_dblbuf
CPP = fpp -f_com=no -free -w0 $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS)
FC = mpiifort
FCL = mpiifort -mkl=sequential
FREE = -free -names lowercase
FFLAGS = -assume byterecl -w -heap-arrays 64
OFLAG = -O2
OFLAG_IN = $(OFLAG)
DEBUG = -O0
MKLROOT = /opt/intel/compilers_and_libraries/linux/mkl/
MKL_PATH = $(MKLROOT)/lib/intel64
BLAS =
LAPACK =
BLACS = -lmkl_blacs_intelmpi_lp64
SCALAPACK = $(MKL_PATH)/libmkl_scalapack_lp64.a $(BLACS)
OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o
INCS = -I/opt/fftw/include
LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS)
OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.o
OBJECTS_O2 += fft3dlib.o
# For what used to be vasp.5.lib
CPP_LIB = $(CPP)
FC_LIB = $(FC)
CC_LIB = icc
CFLAGS_LIB = -O
FFLAGS_LIB = -O1
FREE_LIB = $(FREE)
OBJECTS_LIB= linpack_double.o getshmem.o
# For the parser library
CXX_PARS = icpc
LLIBS += -lstdc++
# Normally no need to change this
SRCDIR = ../../src
BINDIR = ../../bin
#================================================
# GPU Stuff
CPP_GPU = -DCUDA_GPU -DRPROMU_CPROJ_OVERLAP -DUSE_PINNED_MEMORY -DCUFFT_MIN=28 -UscaLAPACK -Ufock_dblbuf
OBJECTS_GPU= fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d_gpu.o fftmpiw_gpu.o
CC = icc
CXX = icpc
CFLAGS = -fPIC -DADD_ -Wall -qopenmp -DMAGMA_WITH_MKL -DMAGMA_SETAFFINITY -DGPUSHMEM=300 -DHAVE_CUBLAS
CUDA_ROOT ?= /usr/local/cuda/
NVCC := $(CUDA_ROOT)/bin/nvcc -ccbin=icc
CUDA_LIB := -L$(CUDA_ROOT)/lib64 -lnvToolsExt -lcudart -lcuda -lcufft -lcublas
GENCODE_ARCH := -gencode=arch=compute_30,code=\"sm_30,compute_30\" \
-gencode=arch=compute_35,code=\"sm_35,compute_35\" \
-gencode=arch=compute_60,code=\"sm_60,compute_60\" \
-gencode=arch=compute_70,code=\"sm_70,compute_70\" \
-gencode=arch=compute_72,code=\"sm_72,compute_72\"
MPI_INC = $(I_MPI_ROOT)/include64/
- 修改完 makefile.include 文件之后,执行 make all 命令,大概30-60分钟左右完成编译,在 bin 文件夹中会生成三个可执行文件<如下>
vasp_gam #gamma版本的vasp
vasp_std #标准版本的vasp
vasp_ncl #非线性版本的vasp
至此,vasp 的编译工作全部完成。 - vi空格~/.bashrc 添加如下环境变量
#vasp
export PATH=$PATH:/opt/software/vasp.6.4.2/bin
module use ~/apprepo/modules
- 执行 source空格~/.bashrc使之生效
注意事项
- Intel-2020 编译器安装好之后,可将 Icc 、Ifort 编译器的环境变量删除
- Intel-2020 编译器安装好之后,可将 openmpi 的环境变量删除
- 最后保留 Intel、fftw、vasp 三个的环境变量即可