General
There is a VSC Wiki with basic information about the hardware, storage, and submission scripts:
https://wiki.vsc.ac.at/doku.php
Also some information on how to list and load available software can be found there.
Slurm
To get an estimate when the job in the queue would possible be running, use the command:
squeue -j %JOBID% --start
with %JOBID%
replaced with the job id of your job.
Multiple jobs per node
To be able to run jobs that occupy part of the node, make sure you don't specify -N 1
parameter, since that will automatically allocated the entire node. Use --ntasks
keyword to specify number of CPU cores to be used.
VSC4
General
To load Intel 2021 compiler use:
module load compiler/latest
To check quota (by default one has 100Gb per project):
mmlsquota --block-size auto -j home_fs70XXX home
w2dynamics
w2dynamics
can be loaded via:
module load --auto w2dynamics/master-gcc-12.2.0-ez4ak3p
VASP
The access to the VASP
software is restricted: one needs to write the VSC support to get the access. To load VASP
use:
module load --auto vasp6/6.2.0-intel-19.1.3.304-tybhikr
In addition to the usual:
export OMP_NUM_THREADS=1
which sets the number of OpenMP
threads to 1, it might be necessary to set a correct process pinning via:
export I_MPI_PIN_RESPECT_CPUSET=0
otherwise running mpi
jobs will be horrendously slow. However, as of the 7th of February 2023 this variable is automatically set to zero by module load
command.
VSC5
w2dynamics
General
In zen3
environment w2dynamics
can be loaded via:
module load --auto w2dynamics/master-gcc-12.2.0-p2uhfc4
UCX issue (potentially obsolete)
There is an issue with UCX on the login nodes producing an error UCX WARN UCP version is incompatible, required: 1.12, actual: 1.10
, which should be resolved in the near future. Note that computation nodes suppose to have the correct version (source: Jan Zabloudil).
As for now, if you need to run it on the login node use:
module load ucx/1.12.1-gcc-11.2.0-udqocr2
Submission script example
An example w2dynamics
submission script can look as follows (please remember to modify the email address to yours and put the correct name of the parameters file in place of Parameters.in
as well as modify the number of nodes as needed – for two-particle calculation -N 10
or more is probably needed)
#!/bin/bash #SBATCH -N 1 #SBATCH -J square_dmft #SBATCH --ntasks-per-node=128 #SBATCH --qos=zen3_0512 #SBATCH --partition=zen3_0512 ##SBATCH --time=24:00:00 #SBATCH --mail-type=ALL # first have to state the type of event to occur #SBATCH --mail-user=<YOUR.NAME@tuwien.ac.at> # and then your email address module purge module load --auto w2dynamics/master-gcc-11.2.0-mqjex7z mpirun -np $SLURM_NTASKS DMFT.py Parameters.in > ctqmc-$SLURM_JOB_ID.log 2>&1
wien2k
Parallel mode
To be able to run wien2k
in parallel mode one needs to set up passwordless login for computational nodes:
1) generate the ssh key via
ssh-keygen
(enter the empty passphrase).
2) authorize it:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3) create/modify the .ssh/config
file to have the following lines:
Host n* IdentityFile ~/.ssh/id_rsa Host localhost IdentityFile ~/.ssh/id_rsa
4) change the permissions:
chmod 600 ~/.ssh/*
Multiple nodes
To be able to run wien2k
on multiple nodes one would need to set up a .machines
file.
Here is an example utilizing 4 OpenMP threads and running 32 k-points per node. The list of nodes allocated by slurm
is obtained from the $SLURM_NODELIST
variable:
export OMP_NUM_THREADS=4 nodelist=$(scontrol show hostname $SLURM_NODELIST) > .machines for node in ${nodelist[@]}; do for (( j=1; j<=32; j++ )); do echo 1:$node >> .machines done done
Table of contents