VASP
The Vienna Ab initio Simulation Package (VASP) is a computer program for atomic scale materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics, from first principles.
Link to section 'VASP License' of 'VASP' VASP License
The VASP team allows only registered users who have purchased their own license to use the software and access is only given to the VASP release which is covered by the license of the respective research group. For those who are interested to use VASP on Negishi , please contact support to request access and provide your email address associated with your license for our verification. Once confirmed, the approved users will be given access to the vasp5
or/and vasp6
unix groups.
Prospective users can use the command below to check their unix groups on the system.
$ id $USER
If you are interested to purchase and get a VASP license, please visit VASP website for more information.
Link to section 'VASP 5 and VASP 6 Installations' of 'VASP' VASP 5 and VASP 6 Installations
Negishi provides VASP 5.4.4.pl2 and VASP 6.4.1 installations and modulefiles with our default environment compiler gcc/12.2.0
and mpi library openmpi/4.1.4
. Note that only license-approved users can load the VASP modulefile as below.
You can use the VASP 5.4.4.pl2 module by:
$ module load vasp/5.4.4.pl2
You can use the VASP 6.4.1 module by:
$ module load vasp/6.4.1
Once a VASP module is loaded, you can choose one of the VASP executables to run your code: vasp_std
, vasp_gam
, and vasp_ncl
.
The VASP pseudopotential files are not provided on Negishi, you may need to bring your own POTCAR files.
Link to section 'Build your own VASP 5 and VASP 6' of 'VASP' Build your own VASP 5 and VASP 6
If you would like to use your own VASP on Negishi, please follow the instructions for Installing VASP.6.X.X and Installing VASP.5.X.X.
In the following sections, we provide some instructions about how to install VASP 5 and VASP 6 as well as bash job submit script on Negishi:
VASP Job Submit Script
This shows an example of a job submission file for running VASP pre-built on Negishi:
#!/bin/bash
#SBATCH -A myqueuename # Queue name(use 'slist' command to find queues' name)
#SBATCH --nodes=1 # Total # of nodes
#SBATCH --ntasks=64 # Total # of MPI tasks
#SBATCH --time=1:00:00 # Total run time limit (hh:mm:ss)
#SBATCH -J myjobname # Job name
#SBATCH -o myjob.o%j # Name of stdout output file
#SBATCH -e myjob.e%j # Name of stderr error file
# Manage processing environment, load compilers and applications.
module load vasp/5.4.4.pl2 # or module load vasp/6.4.1
module list
# Launch MPI code
mpirun -np $SLURM_NTASKS vasp_std
Build your own VASP 5
For VASP 5.X.X version, VASP provide several templates of makefile.include
in the /arch
folder, which contain information such as precompiler options, compiler options, and how to link libraries. You can pick up one based on your system and preferred features. Here we provide some examples about how to install the vasp.5.4.4.pl2.tgz
version on Negishi with different module environments.
Link to section 'Step 1: Download' of 'Build your own VASP 5' Step 1: Download
As a license holder, you can download the source code of VASP from the VASP Portal, we will not check your license in this case.
Copy the VASP resource file vasp.5.4.4.pl2.tgz
to the desired location, and unzip the file tar zxvf vasp.5.4.4.pl2.tgz
to obtain the folder /path/to/vasp-build-folder/vasp.5.4.4.pl2
and reveal its content.
Link to section 'Step 2: Prepare makefile.include' of 'Build your own VASP 5' Step 2: Prepare makefile.include
We recommend to use GNU compilers parallelized using OpenMPI, combined with MKL for VASP compilation on Negishi.
We are using MKL library, which include BLAS, LAPACK, ScaLAPACK, and FFTW as suggested at VASP wiki, and we can modify makefile.include.linux_gnu
from /arch
folder:
$ cd /path/to/vasp-build-folder/vasp.5.4.4.pl2
cp arch/makefile.include.linux_gnu makefile.include
Here are the suggested changes for makefile.include
, replace the lines between DEBUG=-O0
and OBJECTS= fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o
with
# Intel MKL (FFTW, BLAS, LAPACK, and scaLAPACK)
LLIBS += -L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64 -lgomp -lpthread -lm -ldl
INCS = -I$(MKLROOT)/include/fftw
FFLAGS += -march=znver3
# For gcc-10 and higher (comment out for older versions)
FFLAGS += -fallow-argument-mismatch
Remove all the GPU stuff
at the end of makefile.include
file
Load the required modules:
module --force purge
module load gcc/12.2.0 openmpi/4.1.4
module load intel-mkl/2019.9.304
Link to section 'Step 3: Make' of 'Build your own VASP 5' Step 3: Make
Build VASP with command make all
to install all three executables vasp_std
, vasp_gam
, and vasp_ncl
or use make std
to install only the vasp_std
executable. Use make veryclean
to remove the build folder if you would like to start over the installation process.
Link to section 'Step 4: Test' of 'Build your own VASP 5' Step 4: Test
You can open an Interactive session to test the installed VASP with GNU/openMPI compilation, you may bring your own VASP test files:
$ cd /path/to/vasp-test-folder/
module --force purge
module load gcc/12.2.0 openmpi/4.1.4 intel-mkl/2019.9.304
module list
mpirun /path/to/vasp-build-folder/vasp.5.4.4.pl2/bin/vasp_std
Link to section 'Step 5: submit a bash job' of 'Build your own VASP 5' Step 5: submit a bash job
To submit a bash job with your own compiled VASP on Negishi, here is an example about how to set up your environment and launch MPI code.
#!/bin/bash
#SBATCH -A myqueuename # Queue name(use 'slist' command to find queues' name)
#SBATCH --nodes=1 # Total # of nodes
#SBATCH --ntasks=64 # Total # of MPI tasks
#SBATCH --time=1:00:00 # Total run time limit (hh:mm:ss)
#SBATCH -J myjobname # Job name
#SBATCH -o myjob.o%j # Name of stdout output file
#SBATCH -e myjob.e%j # Name of stderr error file
# Manage processing environment,load compilers and applications.
module purge
module load gcc/12.2.0 openmpi/4.1.4 intel-mkl/2019.9.304
module list
export PATH=/path/to/vasp-build-folder/vasp.x.x.x/bin:$PATH
# Launch MPI code
mpirun -np $SLURM_NTASKS vasp_std
Build your own VASP 6
For VASP 6.X.X version, VASP provide several templates of makefile.include
, which contain information such as precompiler options, compiler options, and how to link libraries. You can pick up one based on your system and preferred features . Here we provide some examples about how to install vasp 6.4.1
on Negishi with different module environments.
Link to section 'Step 1: Download' of 'Build your own VASP 6' Step 1: Download
As a license holder, you can download the source code of VASP from the VASP Portal, we will not check your license in this case.
Copy the VASP resource file vasp.6.4.1.tgz
to the desired location, and unzip the file tar zxvf vasp.6.4.1.tgz
to obtain the folder /path/to/vasp-build-folder/vasp.6.4.1
and reveal its content.
Link to section 'Step 2: Prepare makefile.include' of 'Build your own VASP 6' Step 2: Prepare makefile.include
We recommend to use GNU compilers parallelized using OpenMPI + OpenMP, combined with MKL for VASP build on Negishi.
We are using MKL library, which include BLAS, LAPACK, ScaLAPACK, and FFTW as suggested at VASP wiki. We can modify makefile.include.gnu_ompi_mkl_omp
from /arch
folder to fit for system setup:
$ cd /path/to/vasp-build-folder/vasp.6.4.1
$ cp makefile.include.gnu_ompi_mkl_omp makefile.include
Here are the suggested changes for makefile.include
:
-
change
VASP_TARGET_CPU ?= -march=native
toVASP_TARGET_CPU ?= -march=znver3
-
remove
MKLROOT ?= /path/to/your/mkl/installation
-
change
LLIBS_MKL =
toLLIBS +=
-
comment out or remove all the lines after
INCS = -I$(MKLROOT)/include/fftw
Then, load the required modules:
$ module purge
$ module load gcc/12.2.0 openmpi/4.1.4
$ module load intel-mkl/2019.9.304
Link to section 'Step 3: Make' of 'Build your own VASP 6' Step 3: Make
Open makefile
, make sure the first line is VERSIONS = std gam ncl
.
Build VASP with command make all
to install all three executables vasp_std
, vasp_gam
, and vasp_ncl
or use make std
to install only the vasp_std
executable. Use make veryclean
to remove the build folder if you would like to start over the installation process.
Link to section 'Step 4: Test' of 'Build your own VASP 6' Step 4: Test
You can open an Interactive session to test the installed VASP 6. Here is an example of testing above installed VASP 6.4.1 with GNU compilers and OpenMPI:
$ cd /path/to/vasp-build-folder/vasp.6.4.1/testsuite
$ module purge
$ module load gcc/12.2.0 openmpi/4.1.4 intel-mkl/2019.9.304
$ ./runtest
Link to section 'Step 5: Submit a bash job' of 'Build your own VASP 6' Step 5: Submit a bash job
To submit a bash job with your own compiled VASP on Negishi, here is an example about how to set up your environment and launch MPI code.
#!/bin/bash
#SBATCH -A myqueuename # Queue name(use 'slist' command to find queues' name)
#SBATCH --nodes=1 # Total # of nodes
#SBATCH --ntasks=64 # Total # of MPI tasks
#SBATCH --time=1:00:00 # Total run time limit (hh:mm:ss)
#SBATCH -J myjobname # Job name
#SBATCH -o myjob.o%j # Name of stdout output file
#SBATCH -e myjob.e%j # Name of stderr error file
# Manage processing environment,load compilers and applications.
module purge
module load gcc/12.2.0 openmpi/4.1.4 intel-mkl/2019.9.304
module list
export PATH=/path/to/vasp-build-folder/vasp.x.x.x/bin:$PATH
# Launch MPI code
mpirun -np $SLURM_NTASKS vasp_std