This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Software

How to set up your tools and/or run certain libraries.

1 - Scheduler

Slurm workload manager on DAIC.
ComponentValue
SchedulerSlurm 25.05
Default partitionall
QoSnormal

Job submission

Jobs are submitted using sbatch for batch jobs or salloc for interactive sessions.

sbatch job.sh          # Submit batch job
salloc --partition=all # Start interactive session

Required options

All jobs require an account:

#SBATCH --account=<your-account>

Find your account with:

sacctmgr show user $USER withassoc format=account%20

2 - Modules

Use environment modules on DAIC.

Overview

DAIC uses Lmod to manage software environments. Modules allow you to load specific versions of software without conflicts.

Module hierarchy

DAIC organizes modules in a hierarchy. First load a base module to access software:

Base modulePurpose
2025/cpuCPU-only software (default)
2025/gpuGPU software (CUDA, PyTorch, etc.)
module load 2025/gpu

After loading a base module, additional software becomes available.

Common commands

Loading and unloading

CommandDescription
module load <name>Load a module
module unload <name>Unload a module
module swap <old> <new>Replace one module with another
module purgeUnload all modules
module refreshReload aliases from current modules
module updateReload all currently loaded modules

Listing and searching

CommandDescription
module listShow loaded modules
module availList available modules
module avail <string>List modules containing string
module spider <name>Search all possible modules
module spider <name>/<version>Detailed info about specific version
module whatis <name>Print module description
module keyword <string>Search names and descriptions
module show <name>Show commands in module file

Collections

CommandDescription
module save <name>Save current modules to collection
module restore <name>Restore modules from collection
module savelistList saved collections
module describe <name>Show contents of collection
module disable <name>Remove a collection

Utility

CommandDescription
module is-loaded <name>Check if module is loaded (for scripts)
module is-avail <name>Check if module can be loaded
mlShorthand for module list
ml <name>Shorthand for module load <name>

Finding software

List all available modules:

module avail

Search for a specific module:

module spider pytorch

Get details about a module:

module spider py-torch/2.5.1

Loading modules

Load a single module:

module load cuda/12.9

Load multiple modules:

module load 2025/gpu cuda/12.9 py-torch/2.5.1

Check loaded modules:

module list

Example: GPU software stack

To use PyTorch with GPU support:

module load 2025/gpu
module load py-torch/2.5.1
python -c "import torch; print(torch.cuda.is_available())"
> True

Available software

After loading 2025/gpu, the following software is available (partial list):

CategoryModules
Deep learningpy-torch/2.5.1, py-torch-geometric/2.5.3
GPUcuda/12.9, cudnn/8.9.7.29-12
Scientificpy-numpy/1.26.4, py-scipy/1.14.1, py-pandas/2.2.3
MLpy-scikit-learn/1.5.2
Compilerscuda/12.9, intel/oneapi_2025.3
Applicationsmatlab/R2025b

Use module avail to see the full list.

Using modules in jobs

Load modules in your SLURM batch script:

#!/bin/bash
#SBATCH --account=<your-account>
#SBATCH --partition=all
#SBATCH --gres=gpu:1

module purge
module load 2025/gpu
module load py-torch/2.5.1

srun python train.py

Saving module collections

Save frequently used module combinations:

module load 2025/gpu py-torch/2.5.1 py-numpy/1.26.4
module save my-pytorch

Restore later:

module restore my-pytorch

List saved collections:

module savelist