VASP on Devana¶
The Vienna Ab-initio Simulation Package (VASP) is available for users with valid licences. On the Devana cluster, we support two groups for users with VASP licences:
- vasp5: For users with a VASP 5 licence.
- vasp6: For users with a VASP 6 licence.
Requesting Access¶
If you have a valid VASP licence (either version 5 or 6), please contact the HPC support team
via email or other channels, stating your licence version. You will be added to the appropriate
Unix group (vasp5 or vasp6) based on your licence.
Available Versions¶
The following VASP versions are currently available for use on Devana:
- 5.4.1-CPU
- 5.4.4-CPU
- 6.3.0-CPU
- 6.3.0-GPU
- 6.3.0-VaspSol-CPU
- 6.5.1-intel2023b-MPI-CPU
- 6.5.1-intel2023b-OMPMPI-CPU
Loading VASP¶
Once you have been added to the appropriate group, you can load the desired VASP version using the following command:
module load vasp/<version>
For example, to load VASP 6.3.0 for CPU, use:
module load vasp/6.3.0-CPU
If you encounter any issues or need further assistance, please reach out to the HPC support team.
Checkpointing¶
VASP (up to 6.5.1) does not have good support for checkpointing. If you want to run a long job, we suggest the following approach:
- Run VASP for a short time (e.g., 1 hour) and check if the job is running correctly.
- If the job is running correctly, you can submit a new job with the same input files and increase the walltime.
- Run VASP in a background process and before the end of the job gracefully terminate the job e.g:
#SBATCH -J vasp_job # name of the job
#SBATCH --account=<project> # project number
#SBATCH --partition= # selected partition (short, medium, long)
#SBATCH --nodes=1 # number of nodes
#SBATCH --ntasks=1 # number of MPI ranks
#SBATCH --cpus-per-task=8 # number of OMP threads
#SBATCH -o stdout.%J.out # standard output
#SBATCH --time=24:00:00
mpirun -np <number of ranks> vasp_std & # Ampersand puts the process in the background
PID=$! # Get the process ID of the last background command
sleep 23h # Sleep for 23 hours
echo "Terminating VASP job gracefully"
cat > STOPCAR <<EOF
LSTOP = .TRUE. # stop at next ionic step
# LABORT = .TRUE. # stop at next electronic step
EOF
# Wait for the VASP process to finish
wait $PID
echo "VASP job terminated gracefully"