VASP6.3.0 CPU 版本安装
环境
CPU版本的VASP非常好安装,只需要Intel OneAPI就可以了。(仅针对Intel的CPU。AMD的CPU手上暂时还没有,但是可以用AOCC的库来安装,详情请看)
下载Linux版本的Intel® oneAPI Base Toolkit 和 Intel® oneAPI HPC Toolkit ,没有特别需求,保持新就是好的想法下载最新版。
安装之前先安装gcc, g++
sudo apt-get install gcc
sudo apt-get install g++
最好进去图形界面安装,使用sudo权限安装上述两个Toolkit
sudo ./install
安装路径放在你的/shared/softwares里面,(根据NFS配置更改),然后source oneAPI环境
source /shared/softwares/intel/oneapi/setvars.sh
:: initializing oneAPI environment ...
-bash: BASH_VERSION = 5.0.17(1)-release
args: Using "$@" for setvars.sh arguments:
:: advisor -- latest
:: ccl -- latest
:: clck -- latest
:: compiler -- latest
:: dal -- latest
:: debugger -- latest
:: dev-utilities -- latest
:: dnnl -- latest
:: dpcpp-ct -- latest
:: dpl -- latest
:: inspector -- latest
:: ipp -- latest
:: ippcp -- latest
:: ipp -- latest
:: itac -- latest
:: mkl -- latest
:: mpi -- latest
:: tbb -- latest
:: vpl -- latest
:: vtune -- latest
:: oneAPI environment initialized ::
出现上述内容说明环境配置成功!
安装
解压vasp.6.3.0.tgz到/shared/softwares/中
cd /shared/softwares/
tar -zxvf vasp.6.3.0.tgz
cd /vasp.6.3.0
复制/arch文件夹中的makefile.include.intel到上一级目录,并改名成makefile.include
cp /arch makefile.include.intel ../makefile.include
多核编译安装加快速度,N为CPU核数
make -jN all
单核编译可能要几个小时,多核的话喝杯茶就好了,如果有什么报错,复制去问ChatGPT4.
VASP6.3.0 GPU 版本安装
VASP从6.3.0版本之后移除了CUDA-C接口的支持,更改为OpenACC,资源利用更加高效(应该。link
驱动及运行库:NVIDIA GPU驱动,NVHPC(提供数学库MKL,并行MPI,FORTRAN,QD),CUDA Tookit,FFTW3。
NVIDIA相关的驱动和库在官网都有教程,这里就不再赘述,要注意的是安装NVIDIA GPU驱动时需要关闭自带的nouveau驱动。这个在安装驱动的时候它可以自动生成一个驱动黑名单,一般来说仔细看看上面说了什么,然后无脑重启就能禁用了,如果不行的话根据这里自行禁用nouveau驱动。
FFTW3
下面仅介绍如何编译安装FFTW3。在连接中下载FFTW3,解压到/shard/softwares/
tar -zxvf fftw-3.3.10.tar.gz
cd fftw-3.3.10
./configure --prefix=/shared/softwares/fftw310 --enable-mpi
–prefix= 指fftw3的安装目录,主要最好和源码目录分开,–enable-mpi 指启用mpi优化(大概
make all
make install
对于NVIDIA相关的驱动和库,如果你是在自己的集群上安装的,可以安装在/shared/softwares文件夹里面,然后用module load的方法调用这些库,也可以统一安装在默认路径(但是这样必须保证版本相同)。
完成安装上述库后,复制一份vasp.6.3.0源码,并且重命名为vasp.6.3.0_gpu
tar -zxvf vasp.6.3.0.tgz
mv /vasp.6.3.0 vasp.6.3.0_gpu
cd vasp.6.3.0_gpu
复制/arch文件夹中的makefile.include.nvhpc到上级目录并重命名为makefile.include
cp /arch makefile.include.nvhpc ../makefile.include
加载相关的库,这里给的是默认路径
export PATH=/opt/nvidia/hpc_sdk/Linux_x86_64/23.5/compilers/bin/:$PATH
export LD_LIBRARY_PATH=/shared/softwares/fftw3310/lib:$LD_LIBRARY_PATH
更改makefile.include中第19,20行,-gpu=ccXX,XX代表显卡等级?(应该可以这么说)。对于P100 这里XX=60,根据自己的cuda版本修改cudaXX.X的内容,我这里用的是12.1。
vim makefile.include (不管,vim就是最好的文本编辑器!!!
FC = mpif90 -acc -gpu=cc60,cuda12.1
FCL = mpif90 -acc -gpu=cc60,cuda12.1 -c++libs
更改makefile.include中第67行,QD的绝对路径
QD = /opt/nvidia/hpc_sdk/Linux_x86_64/23.5/compilers/extras/qd
更改makefile.include中第78行,FFTW的绝对路径
FFTW_ROOT = /shared/softwares/fftw310
保存退出。GPU版本只能单核编译。
make all
bin文件夹里面有vasp_std, vasp_gam, vasp_ncl就说明安装成功了!
贴上我的makefile.include(放大看)
