GPU Usage¶
Run compute-intensive workloads on NVIDIA GPU accelerators (A100, V100, L40S) across ARC’s GPU-enabled clusters.
GPU computing accelerates parallel workloads by offloading compute-intensive tasks from the CPU to specialized GPU hardware. This section covers how to request GPU resources, write GPU-accelerated jobs, and optimize performance on ARC’s GPU clusters (Ptolemy, Atlas, and Morrill).
What You’ll Learn¶
Requesting GPUs — How to specify GPU resources in SLURM job scripts
Available Hardware — GPU types and configurations on each cluster
CUDA Setup — Loading CUDA modules and configuring your environment
Job Examples — Ready-to-use templates for common GPU workloads
Troubleshooting — Fixing common GPU job problems
Quick Start¶
Here’s a minimal GPU job script:
#!/bin/bash
#SBATCH --job-name=gpu-test
#SBATCH --nodes=1
#SBATCH --gres=gpu:1
#SBATCH --partition=<valid_gpu_partition>
#SBATCH --time=02:00:00
module purge
module load cuda
python your_gpu_script.py
Submit with: sbatch gpu_job.sh
Types of Available GPUs¶
GPU Type |
GPUs (Per-Node/Total) |
Memory |
Use Case |
|---|---|---|---|
A100-mig7 |
56/112 |
10GB |
Small/Lightweight GPU-enabled jobs |
A100-mig2 |
16/32 |
40GB |
Medium-sized GPU-enabled jobs |
A100 (full) |
8/16 |
80GB |
Full/Multi GPU jobs |
Important
Multi-GPU workloads are NOT supported on MIG instances.
GPU Type |
GPUs (Per-Node/Total) |
Memory |
Use Case |
|---|---|---|---|
V100 |
2/8 |
32GB |
Legacy CUDA code |
A100-mig7 |
8/16 |
80GB |
Small/Lightweight GPU-enabled jobs |
A100 (full) |
8/24 |
80GB |
Full/Multi GPU jobs |
L40S |
4/48 |
48GB |
Training, Inference, Graphics |
Important
Multi-GPU workloads are NOT supported on MIG instances.
GPU Type |
GPUs (Per-Node/Total) |
Memory |
Use Case |
|---|---|---|---|
A100 (full) |
8/32 |
80GB |
Full/Multi GPU jobs |