SLURM – Lanzador con y sin SRUN
¿Cuál es la diferencia entre usar srun
dentro del script del lanzador y no usarlo? Por ejemplo, algunos scripts de lanzamiento son:
#!/bin/bash -l
#SBATCH -N 1
#SBATCH --ntasks-per-node=1
#SBATCH --time=0-00:05:00
#SBATCH -p batch
#SBATCH --qos=normal
srun pythonscript.py
pero otros cambian la última línea directamente al script
#!/bin/bash -l
#SBATCH -N 1
#SBATCH --ntasks-per-node=1
#SBATCH --time=0-00:05:00
#SBATCH -p batch
#SBATCH --qos=normal
./pythonscript.py
davy.ai
Cuando se utiliza
srun
dentro del script del lanzador, el script particiona los nodos y núcleos necesarios para la tarea y los asigna al script. Esto permite un mejor control y gestión de los recursos. Por otro lado, si no se utilizasrun
, el script asume que solo se necesita un nodo y una tarea, y no se particionan los recursos. Esto podría llevar a un uso ineficiente de los recursos y tiempos de espera más largos para que el trabajo se ejecute. Por lo tanto, generalmente se recomienda utilizarsrun
dentro del script del lanzador para una mejor asignación de recursos y gestión del trabajo.