vasp
1. General Information
- 'vasp', 'vasp_serial' - "half" serial version, with '-DNGXhalf' preprocessor flag
- 'vasp_gamma' - serial, gamma point only reduced in X direction version, with '-DwNGXhalf' preprocessor flag.
Use the gamma-point only version for large supercells and molecules with only 1 k-point. It is roughly twice as fast and uses half the memory. - 'vasp_noncollin' - "full" serial version for for non-collinear calculations
- 'vasp_mpi' - like (1) but MPI-prallelised and '-DNGZhalf' preprocessor flag instead of '-DNGXhalf'
- 'vasp_mpi_gamma' - like (2) but MPI-prallelised
- 'vasp_mpi_noncollin' - like (3) but MPI-prallelised
- 'vasp_mpiscalapack' - like (4) but using ScaLAPACK
- 'vasp_mpiscalapack_gamma' - like (5) but using ScaLAPACK
- 'vasp_mpiscalapack_noncollin' - like (6) but using ScaLAPACK
Use the serial versions (1) (2) (3) for small data sets.
Use the MPI versions (4) (5) (6) for data sets fitting into a handful of nodes, as for small number of nodes performance improvements using ScaLAPACK are assumed to be small or ScaLAPACK may even be slower.
Use the ScaLAPACK-MPI versions (7) (8) (9) for jobs with more than some 64 processes. You may also use this versions in generally and disable ScaLAPACK specifying a switch, cf. http://cms.mpi.univie.ac.at/vasp/vasp/scaLAPACK.html
All versions have additionally the following preprocessor flags set:
- -DCACHE_SIZE=4000
- -DRPROMU_DGEMV
- -DRACCMU_DGEMV
- -DLONGCHAR
- .... and some other compiler-specific tuning.
Note that older installations may have other preprocessor flags set and/or not all binaries available.
Besides the default versions (like vasp/5.3.5) patched versions are available (e.g. vasp/5.3.5pVTST3.1). This versions are modified in two ways:
- the VTST patches and tools added, cf. http://theory.cm.utexas.edu/vtsttools/
- the preprocessor flag '-Dtbdyn' is set, activating the advanced MD techniques from Tomáš Bucko, cf. http://cms.mpi.univie.ac.at/vasp/vasp/Advanced_MD_techniques.html
2. How to Access the Software
$ module load CHEMISTRY $ module load vasp |
The pseudo-potentials distributed with VASP and the pre-calculated kernel for the vdW-DF functional are available in the $VASP/DATA/... directories.
$ ls $VASP/DATA PAW_GGA PAW_LDA PAW_PBE_52 US-PP-GGA vdW-DF_kernel PAW_GGA_PBE PAW_LDA_52 PAW_SHORT_GGA US-PP-LDA |
3. Example Batch Scripts
Serial VASP Job
#!/usr/local_rwth/bin/zsh ### Job name #SBATCH --job-name=VASP_SERIAL ### Request the time you need for execution. The full format is D-HH:MM:SS ### You must at least specify minutes or days and hours and may add or ### leave out any other parameters #SBATCH --time=80 #### Request memory you need for your job. You can specify this ### in either MB (1024M) or GB (4G). #SBATCH --mem-per-cpu=1850M ### load modules module load CHEMISTRY module load vasp # start non-interactive batch job vasp |
Parallel VASP Job using MPI
#!/usr/local_rwth/bin/zsh ### Job name #SBATCH --job-name=VASP_MPI ### Request the time you need for execution. The full format is D-HH:MM:SS ### You must at least specify minutes or days and hours and may add or ### leave out any other parameters #SBATCH --time=6:00 ### 12 processes, all on one node #SBATCH --nodes=1 #SBATCH --ntasks-per-node=12 ### Request memory you need for your job. You can specify this ### in either MB (1024M) or GB (4G). #SBATCH --mem-per-cpu=2G ### Load the required modulefiles module load CHEMISTRY module load vasp ### start the VASP MPI binary $MPIEXEC $FLAGS_MPI_BATCH vasp_mpi |
4. Further Information / Known issues
VASP is known to consume a lot of stack space.
Since move to SLURM the 'ulimit -s' is set to 'unlimited' by default and
all ulimit values are automatically propagated to all nodes,
so now you do not need to do any additional hacks.
Please remove all 'ulimit -s NNN' commands for you batch jobs.
Due to a several performance issue, the OpenMPI+ScaLAPACK versions (7)(8)(9) are currently disabled.
Performance and scalability of VASP depends on parameters in the input data set. See https://www.nsc.liu.se/~pla/blog/2011/06/30/vaspnpar/