This is an old revision of the document!
Queue | Partition setup on VSC-5
On VSC-5, the type of hardware and the quality of service (QOS) where the jobs run on may be selected. Nodes of the same type of hardware are grouped to partitions, the QOS defines the maximum run time of a job and the number and type of allocate-able nodes.
Partitions
There are three basic types of hardware that differ in architecture:
- Intel CPU nodes: there is only one variant with Cascadelake CPUs and 368GB RAM.
- AMD CPU nodes: they all have Zen3 CPU nodes, but come in three memeory versions - 512GB, 1TB and 2TB RAM.
- GPU nodes: there are two versions, one with Zen2 CPUs, 256GB RAM and 2x nVidia A40 GPUs, and one with Zen3 CPUs, 512GB RAM and 2x nVidia A100 GPUs.
On VSC-5, the hardware is grouped into so-called <html><font color=#cc3300>➠ partitions</font></html>, type sinfo -o %P
to see the available partitions:
Partition | Nodes | Architecture | CPU | GPU | RAM | Use |
---|---|---|---|---|---|---|
zen3_0512* | AMD | AMD 7713 (64 Core/CPU) | No | 512 GB | The default partition | |
zen3_1024 | AMD | AMD 7713 (64 Core/CPU) | No | 1 TB | High Memory partition | |
zen3_2048 | AMD | AMD 7713 (64 Core/CPU) | No | 2 TB | Higher Memory partition | |
cascadelake_0384 | Intel | 2x Intel Cascadelake | No | 384 GB | Directly use programs compiled for VSC-4 | |
zen2_0256_a40x2 | 45 | AMD | 2x AMD 7252 (8 Core/CPU) | 2x NIVIDA A40 | 256 GB | Best for single precision GPU code |
zen3_0512_a100x2 | 60 | AMD | 2x AMD 7713 (64 Core/CPU) | 2x NIVIDA A100 | 512 GB | Best for double precision GPU code |
Internally used special partitions, that can not be selected manually:
Partition | Description |
---|---|
login5 | login nodes, not an actual slurm partition |
jupyter | reserved for the jupyterhub |
Quality of service (QOS)
Access to node partitions is granted by the so-called <html><font color=#cc3300>➠ quality of service (QOS)</font></html>. The QOSs constrain the number of allocate-able nodes and limit job wall time. The naming scheme of the QOSs is: <project_type>_<memoryConfig>
For submitting jobs to slurm, three parameters are important:
#SBATCH --account=xxxxxx #SBATCH --partition=xxxxx_xxxx #SBATCH --qos=xxxxx_xxxx
Notes:
- Core hours will be charged to the specified account.
- Note that account, partition, and qos have to fit together
- If the account is not given, the default account will be used.
- If partition and qos are not given, default values are
zen3_0512
for both.
The QOSs that are assigned to a specific user can be viewed with:
sacctmgr show user `id -u` withassoc format=user,defaultaccount,account,qos%40s,defaultqos%20s
The default QOS and all QOSs usable are also shown right after login.
QOS, Partitions and Run time limits
The following QoS are available for normal (=non private) projects:
QOS name | Gives access to Partition | Hard run time limits | Description |
---|---|---|---|
zen3_0512 | zen3_0512 | 72h (3 days) | default |
zen3_1024 | zen3_1024 | 72h (3 days) | |
zen3_2048 | zen3_2048 | 72h (3 days) | |
cascadelake_0384 | cascadelake_0384 | 72h (3 days) | |
zen2_0256_a40x2 | zen2_0256_a40x2 | 72h (3 days) | |
zen3_0512_a100x2 | zen3_0512_a100x2 | 72h (3 days) | |
zen3_0512_devel | 5 nodes on zen3_0512 | 10min |
Idle QOS
Generally, it can be distinguished in QOS defined on the generally available compute nodes and on private nodes. Furthermore, there is a distinction whether a project still has available computing time or if the computing time has already been consumed. In the latter case, jobs of this project are running with low job priority and reduced maximum run time limit in the <html><font color=#cc3300>➠ idle queue</font></html>. There is no idle on cascadelake or GPUs.
QOS name | Gives access to Partition | Hard run time limits | |
---|---|---|---|
idle_0512 | zen3_0512 | 24h (1 day) | projects out of compute time |
idle_1024 | zen3_1024 | 24h (1 day) | projects out of compute time |
idle_2048 | zen3_2048 | 24h (1 day) | projects out of compute time |
zen3_0512_devel
The <html><font color=#cc3300>➠ devel queue</font></html> gives fast feed-back to the user if her or his job is running. It is possible to connect to the node where the actual job is running and to directly monitor the job, e.g., for the purpose of checking if the threads/processes are doing what is expected. This might be recommended before sending the job to one of the 'computing' queues.
QOS name | Gives access to Partition | Hard run time limits |
---|---|---|
zen3_0512_devel | 5 nodes on zen3_0512 | 10min |
Private queues
Private projects come with different QoS; still partition, qos, and account have to fit together.
QOS name | Gives access to Partition | Hard run time limits |
---|---|---|
private queues p….._0… | various | up to 240h (10 days) |
For submitting jobs to slurm, three parameters are important:
#SBATCH --account=p7xxxx #SBATCH --partition=zen3_0512 #SBATCH --qos=p7xxx_xxxx
Run time limits
The QOS's run time limits can also be requested via the command
sacctmgr show qos format=name%20s,priority,grpnodes,maxwall,description%40s
SLURM allows for setting a run time limit below the default QOS's run time limit. After the specified time is elapsed, the job is killed:
#SBATCH --time=<time>
Acceptable time formats include “minutes”, “minutes:seconds”, “hours:minutes:seconds”, “days-hours”, “days-hours:minutes” and “days-hours:minutes:seconds”.