vasp安装步骤
哈哈满面微笑
编辑于 2024年03月20日 19:57
我的科研日记

此文档说明vasp.5.4.4和vasp6的CPU和GPU两种版本的安装步骤

仅代表我个人建议,如果更好的建议或其他版本的安装步骤,望添加

那么,接下来我们进行安装步骤内容:

前面为两个版本的CPU安装过程

后面为两个版本的GPU安装过程

注意事项:(先看一遍)

1. intel oneapi tookits先安装BASE再安装HPC(本教程装在/opt下)我这里用的是2023版本,如果是2024版本,将makefile.include里的icc和icpc改为icx和icpx,官方也建议可以将ifort改为ifx(amd的cpu可能会与intel的编译器不兼容,以后我会考虑出一期amd的编译器去编译amd的CPU版本)

2. Ctrl+Alt+T可以快速打开命令行,路径为主目录下(机器在面前)

3. 无论安装哪个版本一定要先看一遍vasp.5.4.4CPU安装过程

4. Vasp5安装GPU版本和CPU版本是分开的,vasp6的GPU版本与CPU版本同名,大小不一样大

5. 此安装步骤只适用于NVIDIA的GPU,如果是AMD的GPU可以去vaspwiki查找相关内容(AOCL)

6. 在.bashrc中添加的内容放在最后一页

vasp.5.4.4 CPU版:

百度搜索Intel oneapi tookits(建议直接必应搜,第一个就是),往下滑,下载BASE和HPC两个(download now→Linux→在线)根据下面的命令copy到命令行enter

sudo sh l_BASExxxxxx.run输入密码后会有一个加载条,加载完后左边勾选框勾上,后边不要点continue,点continue下边那个,然后只勾选MKL库,一直下一步,最后安装

HPC和BASE一样,只不过区别就是只选MPI、C++和FORTRAN那个库,两个安装完把界面关了就行

打开命令行

sudo chmod 777 /opt/intel/oneapi/mkl/202x.x/interferes/fftw3xf/

sudo chmod 777 /opt/intel/oneapi/mkl/202x.x/interferes/fftw3xf/*

然后在进到这个目录下要先声明环境

source /opt/intel/oneapi/setvasrs.sh intel64(命令行输入即可)

make libintel64 等待编译完成(如果出现错误,可以试试sudo su进入root模式下再试试)

最后进入vasp.5.4.4/arch目录下,把Makefile.include.linux_intel复制到vasp.5.4.4目录下,修改部分内容:

目录可能不一样,按情况修改

改为FCL   = mpiifort -mkl=sequential

如果是intel的CPU,改为OFLAG   = -O2 -xHOST

如果是AMD的CPU,改为OFLAG   = -O2 -mtune=native -m64

在这个目录下打开命令行直接敲make,等待编译完成,结束战斗(时间大概在一个小时左右)

bin目录下会生成vasp_std、vasp_gam、vasp_ncl三个

vasp6 CPU版本同理

vasp5.4.4 GPU版:

在CPU版本的基础上,修改Makefile.include中的部分内容

将下面GPU部分中的-openmp改成-qopenmp

这里最高只支持compute_60

命令行敲make gpu(注:如果你只敲make,只会编译CPU版本,如果你两个版本都想要,要敲make all)

如果编译错误,将图中红底内容删除

等待编译完成即可

bin目录下会生成vasp_gpu、vasp_gpu_ncl

如果两个版本都编译会生成五个

vasp6 GPU版:

先打开命令行敲nvidia-smi,查看cuda版本(CUDA Version)

必应搜索nvidia hpc sdk,第一个就是,然后点download now→HPC SDK Releases,根据cuda版本安装对应的hpcsdk(例如这个显示cuda版本为11.7,则可以下载hpcsdk22.7)

把命令copy到命令行enter(第二步是解压命令,找个合适位置解压,可以直接双击打开归档管理器提取到合适的目录)

建议在root模式下安装(因为要安装到opt目录下,如果你想安装在主目录下,可以不用)

敲完nvhpc_2022_227_Linux_x86_64_cuda_11.7/install后

敲enter→2→enter→/opt/nvidia/hpc_sdk→enter,然后等待安装完成即可

然后就是安装intel oneapi tookits的base就可以,装hpc编译会报错参考上面

进入vasp6/arch目录下,把名字最长的那个复制到vasp.6.x.x目录下,修改其中内容:

20行和21行的cuda11.7需要改成您自己的cuda版本号

MKLPOOT行等号后边是您安装oneapi/mkl/2023(lastest)目录

2024版本的目录为/opt/intel/oneapi/mkl/2024.0/share/mkl

对于vasp.6.3.2版本,这两行可以注释掉,mkl已经有了scalapack

GPU版本编译不再需要oneapi的mpi库,hpcsdk集成了openmpi

只需要source /opt/intel/oneapi/mkl/2023/env/vars.sh intel64即可

然后命令行make编译

因为vasp.6.2.0之后gpu加速方式改变成了openacc方式,编译的gpu版本会集成在cpu版本中,bin目录下只会生成vasp_std、vasp_gam、vasp_ncl三个

运行vasp命令:mpirun -np x vasp_std

假如您只有一个gpu,则x为1,以此类推

vi ~/.bashrc是打开环境的命令,添加完内容后按esc,要换成英文键盘,打出:wq(保存退出的意思),然后enter,再source ~/.bashrc更新一下环境

CPU版本:

export PATH=/home/xxx/vasp.x.x.x/bin:${PATH}

source /opt/intel/oneapi/setvars.sh intel64 --force

ulimit -s unlimited

 

GPU版本:

source /opt/intel/oneapi/mkl/2023.1.0/env/vars.sh intel64 --force

export PATH=/home/xxx/vasp.x.x.x/bin:$PATH

export PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/2x.x/comm_libs/mpi/bin:$PATH

export MANPATH=$MANPATH:/opt/nvidia/hpc_sdk/Linux_x86_64/2x.x/comm_libs/mpi/man

export PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/2x.x/compilers/bin:$PATH

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/nvidia/hpc_sdk/Linux_x86_64/2x.x/compilers/extras/qd/lib

ulimit -s unlimited