Skip to content

VASP on Perun

The Vienna Ab-initio Simulation Package (VASP) is available for users with valid licences. The Perun cluster currently supports only one VASP licence group:

  • vasp6: For users with a VASP 6 licence.

Requesting Access

If you have a valid VASP licence version 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 (vasp6) based on your licence.

Available Versions

The following VASP versions are currently available for use on the Perun system:

  • 6.5.1-foss-2024a

Loading VASP

Once you have been added to the appropriate group, you can load the VASP module using the following command:

module load VASP/6.5.1-foss-2024a

If you encounter any issues or need further assistance, please reach out to the HPC support team.

Checkpointing

Software package VASP (until 6.5.1) does not have good support for checkpointing. If you want to run a long job we suggest the following approach:

  1. Run VASP for a short time (e.g., 1 hour) and check if the job is running correctly.
  2. If the job is running correctly, you can submit a new job with the same input files and increase the walltime.
  3. Run VASP in a background process and, before the end of the job, gracefully terminate it, e.g.:
#!/bin/bash
#SBATCH --job-name=vasp_checkpoint
#SBATCH --account=<project_id>
#SBATCH --partition=cpu_long
#SBATCH --nodes=1
#SBATCH --ntasks=320
#SBATCH --cpus-per-task=1
#SBATCH --time=24:00:00

mpirun 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"
# LSTOP stops the job at the next ionic step;
# LABORT stops it at the next electronic step.
cat > STOPCAR <<EOF
LSTOP = .TRUE.
LABORT = .TRUE.
EOF

# Wait for the VASP process to finish
wait $PID

echo "VASP job terminated gracefully"
Created by: Marek Štekláč, Marek Štekláč, Ot(t)o Kohulák