楼主也是第一次安装,感觉安装起来特别的麻烦,并且在安装的过程中参考了很多别人的经验,所以把自己的安装过程分享给大家,希望对大家有所帮助。另外,其中很多设置楼主也不是很懂,也是尝试自己设置的,并不确定是否合理,欢迎各位大神给修改意见。
1. 安装CentOS7系统
这部分主要参考我要自学网刘贝斯老师的Linux从零到精通教程第八节。这是一份视屏教程挺详细的,所以就直接放上来了,我的磁盘空间给了100G,内存8G。
软件:CentOS7的软件是在六维空间上下载的,我要自学网上也有。
注意:之后Intel Parallel Studio XE安装需要至少2GB的内存,一定要给够。
2. 安装VASP
之后的安装主要参考:Intel Parallel Studio XE 编译VASP
其中也会用到Ubuntu VASP安装和运行
两份参考文件写的都很专业的,我这里主要写按照这个安装的过程和我的电脑中出现的问题
注意:Intel Parallel Studio XE 编译VASP中的编译注意一定要看一下
运行:
yum install glibc-devel.i686
yum install libstdc++.so.6
ldconfig
yum install gcc-c++
在安装libstdc++.so.6时,出现多版本问题,解决方法:Linux之yum安装出现Error: Multilib version problems found解决
使用学校的学生邮箱可免费在Intel Parallel Studio XE官网上下载Intel Parallel Studio XE最新版本,并获取安装序列号
下载之后,运行:
./install.sh
根据提示进行安装,默认安装位置在/opt/intel,也可以自定义 ,同时根据提示安装缺少的依赖。
仅此次登陆生效
下面的路径与实际路径与intel编译器的版本有关,版本变更后适当修改
source /opt/intel/compilers_and_libraries_2018.3.222/linux/bin/compilervars.sh intel64
source /opt/intel/compilers_and_libraries_2018.3.222/linux/bin/iccvars.sh intel64
source /opt/intel/compilers_and_libraries_2018.3.222/linux/bin/ifortvars.sh intel64
source /opt/intel/compilers_and_libraries/linux/mkl/bin/mklvars.sh intel64
source /opt/intel/impi/2018.3.222/bin64/mpivars.sh
永久生效
修改/etc/profile(所有用户)或者~/.bashrc(单个用户) ,具体含义添加PATH
我在bashrc中添加了以下内容(可能不太准确,但是到现在还没报错,所以就这样用的,若有大神看到,希望能给出修改意见,非常感谢):
source /opt/intel/compilers_and_libraries_2018.3.222/linux/bin/compilervars.sh intel64
export PATH=/opt/intel/compilers_and_libraries_2018.3.222/linux/bin:$PATH
export PATH=/opt/intel/compilers_and_libraries/linux/mkl/bin:$PATH
export PATH=/opt/intel/impi/2018.3.222/bin64:$PATH
export LD_LIBRARY_PATH=/opt/intel/compilers_and_libraries_2018.3.222/linux/mkl/lib/intel64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/intel/lib/intel64:$LD_LIBRARY_PATH
可用which icc ifort icpc mpiifort检查是否添加成功
之后编译,若提示xxx:command not found,则再source一遍上述命令
在编译后运行vasp时,若上述文件不在PATH内,也无法运行,需要先执行一遍
修改/etc/profile或~/.bashrc中就无需上述操作,登陆时source一下或着添加到文件永久修改都可以,看个人喜好
在FFTW官网下载FFTW的最新版本,解压,进入解压后的文件夹,生成使用intel编译支持并行的makefile文件
./configure --prefix=/opt/fftw/ CC=icc F77=ifort MPICC=mpiicc --enable-mpi
make
make install
这里好多帖子都说一定要加–enable-mpi否则在安装好的lib文件夹内无法生成此次编译VASP所必须的libfftw3_mpi.a文件
在这里我的电脑出现了,configure: error: C compiler cannot create executables问题,之后添加对比之前的安装情况,添加了一下依赖:
yum install glibc-devel
添加PATH
在~/.bashrc中添加
export PATH=/opt/fftw/bin:$PATH
export LD_LIBRARY_PATH=/opt/fftw/lib:$LD_LIBRARY_PATH
进入软件解压后文件夹:
cd vasp.5.4.4
cp arch/makefile.include.linux_intel makefile.include
修改makefile.include文件:参考Intel Parallel Studio XE 编译VASP
14行开始编译器配置
FC = mpiifort
FCL = mpiifort -mkl
23行开始,数学库配置如下
MKLROOT=/opt/intel/compilers_and_libraries_2018.3.222/linux/mkl
MKL_PATH = $(MKLROOT)/lib/intel64
BLAS =-L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread
LAPACK =-L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread
BLACS =-L$(MKL_PATH) -lmkl_blacs_intelmpi_lp64
SCALAPACK = $(MKL_PATH)/libmkl_scalapack_lp64.a $(BLACS)
30行,配置为(其中/opt/fftw是我编译后安装的目录)
OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o \
/opt/fftw/lib/libfftw3_mpi.a
INCS =-I/opt/fftw/include
编译完成。我的makefile.include
安装:
make
大约30分钟,就在./build中生成了gamma版本的vasp,非线性版本的vasp,标准版本的vasp
gam ncl std
每个文件夹中都有一个vasp的可执行文件。
添加环境变量
把VASP添加到PATH后,可以通过直接输入vasp运行
例如我,新建了一个文件夹,里面创建三个软连接,分别指向三个版本的vasp,再将该目录设置为PATH目录,通过vasp_gam,vasp_ncl,vasp_std
分别运行三个版本的vasp
mkdir ~/soft/vasp
cd ~/soft/vasp
ln -s /home/lwl/Desktop/vasp.5.4.4/build/gam/vasp vasp_gam
ln -s /home/lwl/Desktop/vasp.5.4.4/build/ncl/vasp vasp_ncl
ln -s /home/lwl/Desktop/vasp.5.4.4/build/std/vasp vasp_std
在~/.bashrc
中添加
export PATH=/home/lwl/soft/vasp:$PATH
编译~/.bashrc
source ~/.bashrc
或使用完整路径,如/home/lwl/Desktop/vasp5.4.4/build/gam/vasp
也可以
之后就可以用啦!