Most ACCESS resources use Slurm to manage jobs. Log in via SSH, write a job script, and submit — this page covers the essentials.
Common Slurm Commands
Slurm is the job scheduler used on most ACCESS resources. These commands cover the day-to-day workflow. Full Slurm documentation.
| Command | Description |
|---|---|
sbatch job.sh | Submit a batch job script |
squeue -u $USER | List your queued and running jobs |
scancel <jobid> | Cancel a job by its ID |
sinfo | Show partition and node availability |
seff <jobid> | Show efficiency report for a completed job |
sacct -j <jobid> | Show accounting data for a job |
scontrol show job <jobid> | Show full job details |
Sample Job Script
A minimal Slurm batch script. Copy and adapt this for your workflow — replace partition name, time limit, and commands as needed.
#!/bin/bash
#SBATCH --job-name=my_job
#SBATCH --account=abc123 # your ACCESS allocation account
#SBATCH --partition=compute
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=4
#SBATCH --mem=8G
#SBATCH --time=01:00:00 # max walltime HH:MM:SS
#SBATCH --output=job_%j.out
#SBATCH --error=job_%j.err
module purge
module load python/3.11
python my_analysis.py
Requesting GPUs
GPU request syntax differs slightly between resources, but the general Slurm pattern is:
#SBATCH --gres=gpu:1 # request 1 GPU (most resources)
#SBATCH --gpus-per-node=a100:2 # request 2 A100 GPUs by type (where supported)
Interactive Jobs
For debugging, interactive data exploration, or short tests, you can request an interactive shell on a compute node:
srun --pty --nodes=1 --ntasks=1 --cpus-per-task=4 --mem=8G --time=01:00:00 /bin/bash
For interactive graphical work (Jupyter, RStudio, MATLAB), consider ACCESS OnDemand — it handles the session setup for you.
Frequently Asked Questions
My job is stuck in the queue — what should I do?
Run squeue --job and check the REASON column. Common reasons include Resources (waiting for nodes), Priority (other jobs ahead in queue), and QOSMaxWallDurationPerJobLimit (your walltime exceeds the partition limit).
You can also monitor queue depth on XDMoD.
How do I know which account to use for #SBATCH --account?
Run sacctmgr show associations user=$USER format=account,cluster,qos to list all accounts linked to your username. Your primary allocation account is usually formatted as abc123 (your ACCESS allocation number). If you have multiple accounts, check your allocation details in the ACCESS allocations portal to confirm which maps to each project.
Does every ACCESS resource use Slurm?
Most ACCESS resources use Slurm, but not all. A small number of systems use PBS/Torque or other schedulers. Check the resource-specific documentation before submitting jobs. The core concepts (job scripts, resource requests, queue monitoring) are similar across schedulers, but the exact flags and commands differ. When in doubt, open a help ticket with the resource provider.
How do I transfer output files after my job completes?
Use Globus for large transfers — it handles restarts automatically and works well between ACCESS systems and your campus. For smaller files, scp or rsync over SSH work well. Add a transfer step at the end of your job script so files move automatically when the job finishes, without requiring you to log back in.