Skip to content

Glossary

A quick reference of common HPC and SLURM terms used throughout this documentation. Select a category to jump to the relevant terms.


Hardware

Compute node
A server in the cluster where jobs actually run. Users cannot log in directly; access is managed through SLURM.
Core
A single processing unit within a CPU. Most cluster nodes have multiple cores, allowing parallel execution of tasks.
CPU
The central processing unit (processor) of a compute node. Nodes typically have one or two CPU sockets, each containing multiple cores.
GPU
Graphics Processing Unit, used for accelerated computing such as deep learning and numerical simulations. Available on Hyperion and Atlas EDR. See the GPU guide.
InfiniBand
A high-speed network interconnect between nodes, essential for MPI communication. Variants used at DIPC: FDR (56 Gb/s), EDR (100 Gb/s), HDR (200 Gb/s).
Login node
The server you connect to via SSH. Used for file management, editing, and job submission. Do not run heavy computations here.
Node
A single server (physical machine) in the cluster, containing CPUs, memory, and optionally GPUs.

Storage

Data (/data)
Long-term storage for results from completed calculations and data not actively used in running jobs. Available on Hyperion, where it is read-only on compute nodes (writable only from login nodes). 10 TB quota per user.
Home directory (/dipc)
Your personal directory for configuration files and small data. Not designed for job I/O; use /scratch instead.
Local scratch (/lscratch)
Node-local storage using the physical disks inside each compute node. The fastest option for single-node jobs with heavy I/O, but data is only visible to the node where the job runs. Capacity varies per node (800 GB to 14 TB). Must be manually created and cleaned up. See the Hyperion and Atlas EDR pages for details.
Scratch (/scratch)
A high-performance parallel filesystem for job working directories and large temporary data. Not permanent storage; files may be purged periodically. See the Data transfer page for filesystem overview.

SLURM concepts

Batch script
A shell script containing SLURM directives (#SBATCH lines) that describes a job: the resources requested and the commands to execute. Submitted with sbatch. See Your first job.
Job
A computation submitted to the SLURM scheduler. Can be batch (non-interactive, submitted with sbatch) or interactive (started with srun or salloc). See the SLURM reference.
Job array
A way to submit many similar jobs with a single sbatch command, using the --array option. Each element runs independently with a unique index.
Partition
A group of nodes managed by SLURM. Each partition has its own resource limits and scheduling policies. Specified with --partition or -p.
QoS (Quality of Service)
SLURM policies that set limits on job size, duration, and priority. Specified with --qos.
Queue
The waiting list of pending jobs managed by SLURM. Jobs wait in the queue until the requested resources become available.
SLURM
Simple Linux Utility for Resource Management. The job scheduler and resource manager used on all DIPC clusters.
Task
In SLURM, a process within a job. An MPI job typically has one task per MPI rank. Set with --ntasks or -n.
Walltime
The maximum elapsed (wall-clock) time a job is allowed to run, set with --time. If the job exceeds this limit, SLURM terminates it.

SLURM commands

sbatch
Submit a batch job. Usage: sbatch script.sh. See Your first job.
squeue
Check the status of jobs in the queue. Usage: squeue -u $USER.
srun
Launch a parallel job step. Also used to start interactive jobs on Hyperion and Atlas EDR.

Programming

Environment module
A tool to load and manage software packages and their dependencies. See the Environment modules page.
MPI (Message Passing Interface)
A standard for parallel programming across multiple nodes. Each MPI process (rank) can run on a different node and communicate over the network. See the MPI guide.
OpenMP
A standard for shared-memory parallel programming using multiple threads within a single node. Controlled by the OMP_NUM_THREADS environment variable. See the OpenMP guide.

Software

Compiler
A program that translates source code (C, C++, Fortran) into executable binaries. Multiple compiler families are available on the clusters (GCC, Intel). See the Compilers guide.
Container (Singularity / Apptainer)
A lightweight, portable package that bundles an application with all its dependencies. Containers ensure reproducibility across different systems. See the Containers guide.
Conda / Mamba
Package and environment managers widely used for Python and scientific software. Allow you to create isolated environments with specific package versions. See the Python guide.
Python virtual environment
An isolated Python installation where you can install packages without affecting the system Python. Created with python -m venv or conda create. See Setting up your first Python environment.

See also

  • Quick start


    Get up and running on the clusters in five steps.

    Quick start

  • SLURM reference


    Complete reference for job submission, resource requests, and scheduler options.

    SLURM reference

  • Environment modules


    Load pre-installed software and manage versions with the module system.

    Environment modules