For information, do take a look at VASP – Install VASP.6.X.X
VASP support several compilers. But we will be focusing on Nvidia hpcx only for this blog. To compile Nvidia hpcx, do take a look at Installing and using Mellanox HPC-X Software Toolkit
You may want to use Nvida hpcx. You may want to module use
export HPCX_HOME=/usr/local/hpcx-v2.15-gcc-MLNX_OFED_LINUX-5-redhat8-cuda12-gdrcopy2-nccl2.17-x86_64
module use $HPCX_HOME/modulefiles
----------------- /usr/local/hpcx-v2.15 --------------------------------------------
hpcx hpcx-debug hpcx-debug-ompi hpcx-mt hpcx-mt-ompi hpcx-ompi hpcx-prof hpcx-prof-ompi hpcx-stack
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.gnu_ompi_mkl_omp ./makefile.include
You will need the latest GNU GCC-10 or the latest for a successful compile. I compiled with GCC-12.3. You may want to take a look at Compiling GCC 12.1.0 on Rocky Linux 8.5
If you are using OneAPI Intel MKL, you can use module use after compilation. It will not be covered in this write-up. But you can:
% module use /usr/local/intel/2023.1/modulefiles
Finally,
% module load mkl/latest
% module load gnu/gcc-12.3
% module load hpcx
% make veryclean
% make DEPS=1 -j
.....
.....
make[2]: Leaving directory '/usr/local/vasp/vasp.6.3.0/build/std'
make[1]: Leaving directory '/usr/local/vasp/vasp.6.3.0/build/std'
In the bin directory, you should see vasp_gam vasp_ncl vasp_std