The slurm scheduler uses partitions as the method to allocate resources to jobs.The FRCE cluster has several partitions defined, with the major ones summarized below.
Partition Name | Wall Time Limit | Max Cores Per User | Other Limits |
---|---|---|---|
short | 30 minutes | 170 | |
norm | 5 days | 575 | |
gpu | unlimited | 350 | 24 P100 GPUs 48 V100 GPUs 4 A100 GPUs |
unlimited | unlimited | 432 | |
largemem | unlimited | 192 | |
nci-dragen | unlimited | 64 | 1 Dragen FPGA |
Two other partitions will be displayed in the sinfo
output. The dragen partition has several servers for the exclusive use by the CCR Sequencing Facility while csbdevel provides a priority channel for a set of programmers who make frequent changes to their code.
Job scripts can also request that the job be run on a server with particular hardware attributes by specifying features. Currently defined features include:
Feature Name | Description |
---|---|
cpu?? | ?? represents the number of physical CPU cores |
core?? | ?? represents the number of virtual CPU cores |
g??? | ??? represents the number of GB of memory available |
x???? | ???? is the model number of the Intel CPU installed |
gpu???? | ???? is the model number of the Nvidia GPU installed |
Detail features of the partitions can be found in the attachment.
A submit script that requests a particular partition and feature would read
#!/bin/bash #SBATCH --job-name=myjob #SBATCH --ntasks=8 #SBATCH --time=00:05:00 #SBATCH --partition=short #SBATCH --constraint=x6150 echo "We are now on a Intel Gold 6150 CPU in the quick queue" echo "Eight CPU cores are allocated with a time limit of 1 hour"
Please note the first line, "#! /bin/bash" in job script is important. Otherwise, SLURM will complain.
To use GPU in the cluster, you need to request the device by "--gres=gpu:1" in addition to send your job to the right partition by "--partition=gpu".