To Compile VASP with GPGPU Capability using Nvidia HPC-SDK. For more information, do take a look at VASP – Install VASP.6.X.X
VASP support several compilers. But we will be focusing on Nvidia HPC-SDK only for this blog. To download the NVIDIA HPC-SDK
To compile Nvidia HPC SDK, do take a look at HPC SDK Documentation
% tar -xpfz <tarfile>.tar.gz
You may want to use modulefiles provided at hpc-sdk if you are using Module Environment
% module use /usr/local/nvidia/hpc_sdk/modulefiles
You should be able to see something like
------------------- /usr/local/nvidia/hpc_sdk/modulefiles ---------------
nvhpc-byo-compiler/22.5 nvhpc-nompi/22.5 nvhpc/22.5
You can untar the VASP.6.3.3. and potpaw_PBE.54
% tar -xvf vasp.6.3.0.tar
% tar -xvf potpaw_PBE.54.tar
At the installation base of vasp.6.3.0 base
% cp arch/makefile.include.nvhpc_ompi_mkl_omp_acc ./makefile.include
Load the Nvidia GPGPU SDK and compile. If you are using OneAPI Intel Compilers, you can use module use after compilation. It will not be covered in this write-up.
% module use /usr/local/intel/oneapi-2022/modulefiles
% module load nvhpc/22.5
% module load mkl/latest
% make veryclean
% make DEPS=1 -j
If during the make, you encounter the error
/usr/local/nvidia/hpc_sdk/Linux_x86_64/22.5/comm_libs/openmpi/openmpi-3.1.5/bin/.bin/mpif90: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory
You can dnf install libatomic
% dnf install libatomic -y
Try Compiling again
References:
- Installing VASP.6.X.X