El cluster utiliza el programa SLURM (Simple Linux Utility for Resource Management), el cual administra los recursos (cores o nodos) asignados a un cálculo. De esta manera varios cálculos pueden ser enviados al mismo tiempo y quedarán en cola si no hay recursos disponibles.
Es obligatorio el uso de SLURM para acceder a los recursos del cluster
Si su job corre con solo 1 core o hasta 10 cores entonces puede utilizar el siguiente script:
#!/bin/bash -l
#SBATCH --partition=shared
#SBATCH --time=3:00:00
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=4
#SBATCH --job-name="test"
#SBATCH --output=test.out.%j
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
srun --exact -n 1 -c $SLURM_CPUS_PER_TASK <Comandos ejecutar>
mail-report <email>@una.ac.cr # Envía reporte del cálculo al finalizar.
Si por el contrario su job puede correr 20 cores o más entonces puede utilizar el siguiente script:
#!/bin/bash
#SBATCH --partition=mpi
#SBATCH --time=3:00:00
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=20
#SBATCH --job-name="test"
#SBATCH --output=test.out.%j
srun -n $SLURM_NTASKS --mpi=pmix <Comandos a ejecutar>
mail-report <email>@una.ac.cr # Envía reporte del cálculo al finalizar.
El cluster cuenta con dos colas de trabajo o particiones:
mpi: para trabajos que utilizan nodos enteros. Se debe modificar las siguientes líneas
#SBATCH --partition=mpi
#SBATCH --nodes=N (N puede tomar valores de 1 hasta 12)
#SBATCH --ntasks-per-node=20 (Este número no debería de cambiarse)
smp: para trabajos secuenciales o que necesiten correr con menos de 10 cores,
#SBATCH --partition=shared
#SBATCH --ntasks=1
Donde --ntasks puede tener valores de 1 hasta 10 .
Dependiendo de la necesidad la persona usuaria siempre debe de especificar la cola con la que va a trabajar.
Si nombra el archivo run.sh lo puede enviar a cola por medio del siguiente comando
sbatch run.sh