首页 > 技术文章 > GNU编译器编译VASP

liu-shaobo 2020-10-16 21:19 原文

基于Intel编译器编译VASP 参考

 

系统: Centos7.6 x86_64 

 

1、安装编译器

# yum install -y gcc gcc-c++ gcc-gfortran

 

2、安装OpenMPI

# wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.4.tar.bz2
# tar jxvf openmpi-4.0.4.tar.bz2
# cd openmpi-4.0.4
# mkdir build && cd build
# ../configure --prefix=/usr/local/openmpi-4.0.4 CC=gcc CXX=g++ FC=gfortran F77=gfortran
# make -j
# make install

 

 

 

配置OpenMPI环境变量

# vim ~/.bashrc
export PATH=/usr/local/openmpi-4.0.4/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/openmpi-4.0.4/lib:$LD_LIBRARY_PATH
export MANPATH=/usr/local/openmpi-4.0.4/share/man:$MANPATH

 

 

3、安装FFTW

# wget ftp://ftp.fftw.org/pub/fftw/fftw-3.3.8.tar.gz
# tar zxvf fftw-3.3.8.tar.gz
# cd fftw-3.3.8
# mkdir build && cd build
# ../configure --prefix=/usr/local/fftw --enable-mpi --enable-openmp --enable-shared --enable-static
# make -j
# make install
# vim ~/.bashrc
export PATH=/usr/local/fftw/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/fftw/lib:$LD_LIBRARY_PATH

 

 

4、安装OpenBLAS

# wget https://github.com/xianyi/OpenBLAS/releases/download/v0.3.15/OpenBLAS-0.3.15.tar.gz
# tar zxvf OpenBLAS-0.3.15.tgz
# cd OpenBLAS-0.3.15
# make CC=gcc FC=gfortran USE_OPENMP=1
# make PREFIX=/usr/local/openblas install
# vim ~/.bashrc
export OpenBLAS_HOME=/usr/local/openblas
export LD_LIBRARY_PATH=$OpenBLAS_HOME/lib:$LD_LIBRARY_PATH

 

 

 

5、安装ScaLAPACK

# wget http://www.netlib.org/scalapack/scalapack-2.1.0.tgz
# tar -zxvf scalapack-2.1.0.tgz
# cd scalapack-2.1.0
# cp SLmake.inc.example SLmake.inc
# vim SLmake.inc
BLASLIB = -L/usr/local/openblas/lib -lopenblas
LAPACKLIB = $(BLASLIB)

# make lib
# mkdir -p /usr/local/scalapack/lib
# cp libscalapack.a /usr/local/scalapack/lib/

 

 

6、配置VASP编译参数

# tar zxxf vasp.5.4.4.tar.gz
# cd vasp.5.4.4
# cp arch/makefile.include.linux_gnu ./makefile.include
# sed -i 's#^OFLAG .*#OFLAG = -O2 -fopenmp#' makefile.include
# sed -i 's#^LIBDIR.*#LIBDIR = /usr/local/openblas/lib#' makefile.include
# sed -i 's#^BLAS.*#BLAS = -L$(LIBDIR) -lopenblas#' makefile.include
# sed -i 's#^SCALAPACK.*#SCALAPACK = -L/usr/local/scalapack/lib -lscalapack $(BLACS)#' makefile.include
# sed -i 's#^FFTW.*#FFTW ?= /usr/local/fftw#' makefile.include

 

 

7、编译VASP

# make all

  

8、VASP测试

# mkdir -p/usr/local/vasp/bin
# export PATH=$PATH:/usr/local/vasp/bin
# wget https://files.cnblogs.com/files/liu-shaobo/benchmark.Hg.tar.gz
# tar -xzf benchmark.Hg.tar.gz
# cd vasp.Hg
# mv IN-short INCAR
# export OMP_NUM_THREADS=1
# mpirun -np 4 vasp_std

 查看输出文件OUTCAR

 

推荐阅读