Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Node Type

CPU

Memory

Accelerator

Standard Compute

128 Cores (2x AMD EPYC 7713 Zen3)

512 GiB

N/A

High Memory

128 Cores (2x AMD EPYC 7713 Zen3)

2048 GiB

N/A

GPU A100

48 Cores (2x AMD EPYC 7413 Zen3)

512 GiB

4x NVIDIA A100 80GiB

GPU A30

48 Cores (2x AMD EPYC 7413 Zen3)

512 GiB

3x NVIDIA A30 24GiB

GPU MIG

48 Cores (2x AMD EPYC 7413 Zen3)

512 GiB

28x 16x NVIDIA A100 sliced into 20GiB and 10GiB segments“slices”

Xlienx FPGA

48 Cores (2x AMD EPYC 7443 Zen3)

256 GiB

1x Xilinx U280

Bitaware FPGA

52 Cores (Intel Xeon Gold 6230R)

376 GiB

1x BittWare 520N-MX

Info

There is privately owned hardware that may have slightly different specs. See the Sol Status Page for the full features of every node

Requesting Resources

Excerpt

Requesting CPUs

By default, Slurm will attempt to schedule jobs as locally proximate as possible, so requesting -c 5 cores will try to get 5 cores on one node -N 1, unless otherwise specified.

To request a given number of CPUs sharing the same node, you can use the following in your SBATCH:

Code Block
#SBATCH -N 1 # Number of Nodes
#SBATCH -c 5 #Number of 
#SBATCH
Cores 
-N
per 
1
task
or
interactive -
c
N 
5
1 -
N 1
c 5

This will create a job with 5 CPU cores on one node.

To request a given number of CPUs spread across multiple nodes, you can use the following:

Code Block
#SBATCH -
c
N 
5
2-4    
# 
CPUs
number 
per
of 
TASK
nodes 
#SBATCH
to 
-n
allow 
10
tasks to spread across 
#
(MIN 
number
& 
of
MAX)
TASKS
#SBATCH -
N
n 10    # number of
nodes to allow tasks to spread across (MIN & MAX)
 TASKS
#SBATCH -c 5     # CPUs per TASK
or
interactive -N 
10
2-4 -n 10 -c 5

The above example will allocate

...

a total of 50 cores spread across as few as 2 nodes or as many as 4 nodes.

Take note of the inclusion or omission of -N:

Code Block
#SBATCH -c 5     # CPUs per TASK
#SBATCH -n 10    # number of TASKS
or
interactive -n 10 -c 5

This reduced example will still allocate 50 cores, 5 cores per task on any number of available nodes. Note, that unless you are using MPI-aware software, you will likely prefer to always add -N

...

, to ensure that each job worker has sufficient connectivity

...

.

-c and -n have similar effects in Slurm in allocating cores, but -n is the number of tasks, and -c is the number of cores per task. MPI processes bind to a task, so the general rule of thumb is for MPI jobs to allocate tasks, while serial jobs allocate cores, and hybrid jobs allocate both.

See the official Slurm documentation for more information: https://slurm.schedmd.com/sbatch.html

Requesting Memory

...

Cores and memory are de-coupled: if you need only a single CPU core but ample memory, you can do so like this:

Code Block
#SBATCH -c 1
#SBATCH -N 1
#SBATCH --mem=120G
or
interactive -N 1 -c 1 --mem=120G

If you do not specify --mem, you will be allocated 2GiB per CPU core OR 24GiB per GPU

To request more than 512GiB of memory, you will need to use the highmem partition

Code Block
#SBATCH -p highmem
#SBATCH --mem=1400G

To request all available memory on a node

...

:

Warning

This will allocate all CPU cores memory (between 512GiB and 2TiB depending on the node) to your job. This will prevent any other jobs from landing on this node. Only use this if you truly need that much memory

Code Block
#SBATCH --exclusive 
#SBATCH --mem=0

Requesting GPUs

To request a GPU, you can specify the -G option within your job request:

This will allocate the first available GPU that fits your job request

Code Block
#SBATCH -G 1
or 
interactive -G 1

To request multiple GPU’s specify a number greater than 1:

Code Block
#SBATCH -G 4
or 
interactive -G 4

To request a specific number of GPU’s per node when running multi node:

Code Block
#SBATCH -N 2 # Request two nodes
#SBATCH --gpus-per-node=2 #Four total GPUs, two per node

To request a specific type of GPU (a100 for example):

Code Block
#SBATCH-G a100:1
or
interactive -G a100:1

Requesting FPGAs

Sol has two nodes with a Field Programmable Gate Array (FPGA) accelerator. One is an Intel-based node with a Bitaware 520N-MX FPGA, the other is an AMD-based node with a Xilinx U280. Because there is only FPGA per node, it is recommended to allocate the entire node.

Bitaware:

Code Block
#SBATCH --exclusive
#SBATCH -L bittware
or
interactive --exclusive -L bittware

Xilinx:

Code Block
#SBATCH --exclusive
#SBATCH -L xilinx
or
interactive --exclusive -L xilinx

Or via the web portal using the “Additional Sbatch options” section:

Note there should not be a space between “-L” and the FPGA name on the web portal

image-20240320-174636.pngImage Addedimage-20240320-174758.pngImage Added

Additional Help

If you require further assistance on this topic, please don't hesitate to contact the Research Computing Team. To create a support ticket, kindly send an email to rtshelp@asu.edu. For quick inquiries, you're welcome to reach out via our #rc-support Slack Channel or attend our office hours for live assistance

...