Saltar a contenido

Primeros pasos con Slurm

Slurm es el gestor de colas: tú describes qué recursos necesita tu trabajo y Slurm lo ejecuta en los nodos de cómputo cuando esos recursos están libres.

Particiones

Partición Nodos Para qué Tiempo máximo
CPU cpun[1-5] trabajos CPU generales, MPI por confirmar
MEM high-ram-n1 trabajos que necesitan mucha RAM (hasta 1,5 TB) por confirmar
GPU gpun[1-3] trabajos con GPU (NVIDIA o AMD) por confirmar
ALL (por defecto) todos — por confirmar

Indica siempre la partición

Si no indicas --partition, el trabajo va a ALL y puede caer en un nodo GPU, ocupándolo sin usar sus GPUs. Usa -p CPU para trabajos solo-CPU.

Comandos básicos

Comando Qué hace
sinfo estado de particiones y nodos
sbatch script.sh envía un trabajo por lotes
squeue -u $USER tus trabajos en cola o ejecutándose
scancel <jobid> cancela un trabajo
scontrol show job <jobid> detalle de un trabajo (por qué está pendiente, dónde corre)
srun --pty bash sesión interactiva en un nodo de cómputo

Tu primer trabajo

Crea prueba.sh:

#!/bin/bash
#SBATCH --job-name=prueba
#SBATCH --partition=CPU
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=8
#SBATCH --mem=16G
#SBATCH --time=01:00:00
#SBATCH --output=%x_%j.out

echo "Corriendo en $(hostname) con $SLURM_CPUS_PER_TASK núcleos"
python3 mi_script.py

Envíalo y revisa:

sbatch prueba.sh          # responde: Submitted batch job 1234
squeue -u $USER           # PD = pendiente, R = ejecutándose
cat prueba_1234.out       # salida cuando termina

Sesión interactiva

Para pruebas cortas, compilar o depurar en un nodo de cómputo:

srun -p CPU --cpus-per-task=4 --mem=8G --time=00:30:00 --pty bash

Sal con exit para liberar el nodo.

Opciones #SBATCH más usadas

Opción Significado
--partition=CPU partición
--nodes=2 número de nodos
--ntasks=64 número de procesos (MPI)
--cpus-per-task=8 hilos por proceso (OpenMP, Python multiproceso)
--mem=32G memoria por nodo
--gres=gpu:rtx6000ada:1 GPUs (ver GPUs)
--time=1-12:00:00 tiempo máximo (días-hh🇲🇲ss)
--array=1-100 arreglo de trabajos
--mail-type=END,FAIL y --mail-user=tu@usach.cl aviso por correo (por confirmar)

Más ejemplos en Ejemplos de trabajos.