本文直接使用较新版本的 Intel® Parallel Studio XE 工具集进行编译,无需辅助的 fftw 和 openmpi
本文主要参考 【VASP】给真·小白看的VASP本地编译自学指南 Ver 2.1 和 VASP+VTST编译安装
所用安装包为 parallel_studio_xe_2019_update1_cluster_edition.tgz , vasp.5.4.4.tar.gz , vtstcode.tgz 和 vtstscripts.tgz
编译环境准备
前期准备
更新软件并安装一些必备库
1 | sudo apt-get update # 更新软件包的源地址 |
安装Intel编译环境
解压安装包
1 | tar –xvzf parallel_studio_xe_2019_update1_cluster_edition.tgz |
进入安装包目录进行安装
1 | ./install.sh |
空格+回车,按照默认操作进行,安装完成程序自动退出
设置环境变量
在主文件夹 home 中按ctrl+h,显示隐藏文件夹,打开 .bashrc ,在其末尾添加(注意安装后的 intel 目录,有的是 /opt/intel )
1 | source /home/cyh/intel/bin/compilervars.sh intel64 # 启用intel编译器 |
退出并保存 .bashrc 。再使其生效
1 | source ~/.bashrc |
检查是否编译成功
1 | which ifort |
显示路径即编译成功
编译Intel fftw3
进入 intel 目录中的 fftw3xf 文件夹内 /home/cyh/intel/mkl/interfaces/fftw3xf
1 | make libintel64 |
生成 libfftw3.intel.a
编译 VASP+VTST
解压 VASP 安装包
1 | tar –xvzf vasp.5.4.4.tar.gz |
将解压后的 vasp.5.4.4 文件夹移动到 home 文件夹中
解压 vtstcode 安装包
1 | tar –xvzf vtstcode.tar.gz |
生成 vtstcode-178 文件夹
设置 VTST
将 vtstcode-178 文件夹目录下所有文件复制到 /home/vasp.5.4.4/src/ 中(替换 chain.F )
打开并修改 src 文件夹中的 main.F ,将
1 | CALL CHAIN_FORCE(T_INFO%NIONS,DYN%POSION,TOTEN,TIFOR, & |
替换为
1 | CALL CHAIN_FORCE(T_INFO%NIONS,DYN%POSION,TOTEN,TIFOR, & |
打开并修改 src 文件夹中的 .objects ,在 chain.o (第一个,约第70行)前添加以下内容
1 | bfgs.o dynmat.o instanton.o lbfgs.o sd.o cg.o dimer.o bbm.o \ |
注意 \ 后不要有空格
获取 makefile 文件
进入 /home/vasp.5.4.4/arch ,复制 makefile.include.linux_intel 到上一级目录 /home/vasp.5.4.4 中,并重命名为 makefile.include
修改 makefile 文件
添加 MKLROOT 路径
获取 MKLROOT 路径
1 | echo $MKLROOT |
将所得路径添加到 MKL_PATH 前
1 | MKLROOT = /home/cyh/intel/compilers_and_libraries_2019.0.117/linux/mkl |
修改数学库配置
将 MKL_PATH 后的
1 | BLAS = |
修改为
1 | BLAS = -L$(MKL_PATH) -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread |
修改 OBJECTS
进入 intel 目录中的 fftw3xf 文件夹内,将之前生成的 libfftw3.intel.a 路径添加到 OBJECTS 中
1 | OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o\ |
保存并退出 makefile.include
获取管理员权限
在 /home/vasp.5.4.4 中打开终端
1 | su |
确认环境变量
1 | source /home/cyh/intel/bin/compilervars.sh intel64 |
进行编译
1 | make veryclean |
编译完成后在 /home/vasp.5.4.4/bin 中生成 vasp_gam, vasp_ncl 和 vasp_std
添加 vtstscripts
解压 vtstscripts 安装包
1 | tar –xvzf vtstscripts.tgz |
将生成的 vtstscripts-940 文件夹移动到 /home/vasp.5.4.4/ 中
添加环境变量
打开 .bashrc ,在其末尾添加
1 | export PATH=/home/cyh/vasp.5.4.4/bin:$PATH |
退出并保存 .bashrc 。再使其生效
1 | source ~/.bashrc |