wiki:herramientas
¡Esta es una revisión vieja del documento!
Ejemplos Script Slurm
- Tarea: ejecutar programas utilizando gpu
- Ejecución: sbatch submit_gpu_job.sh
- Partición: gpu
- Tiempo máximo: 3 días
- submit_gpu_job.sh
- #!/bin/bash
- ### Las líneas #SBATCH configuran los recursos de la tarea
- ### (aunque parezcan estar comentadas)
- ### Nombre de la tarea
- #SBATCH --job-name=gpu_job
- ### Cola de trabajos a la cual enviar.
- #SBATCH --partition=gpu
- #SBATCH --gres=gpu:1
- ### Procesos a largar.
- ### Por defecto, se usa un solo proceso para tareas GPU.
- #SBATCH --ntasks-per-node=1
- ### Tiempo de ejecucion. Formato dias-horas:minutos.
- #SBATCH --time 3-0:00
- ### Script que se ejecuta al arrancar el trabajo
- ### Cargar el entorno del usuario incluyendo la funcionalidad de modules
- ### No tocar
- . /etc/profile
- ### Cargar los módulos para la tarea
- # FALTA: Agregar los módulos necesarios
- module load gcc
- module load cuda
- ### Largar el programa
- # FALTA: Cambiar el nombre del programa
- srun NOMBRE_DEL_PROGRAMA
- Tarea: ejecutar programas utilizando mpi
- Ejecución: sbatch submit_mpi_job.sh
- Partición: batch
- Tiempo máximo: 3 días
- submit_mpi_job.sh
- #!/bin/bash
- ### Las líneas #SBATCH configuran los recursos de la tarea
- ### (aunque parezcan estar comentadas)
- ### Nombre de la tarea
- #SBATCH --job-name=mpi_job
- ### Tiempo de ejecucion. Formato dias-horas:minutos.
- #SBATCH --time 3-0:00
- ### Numero de procesos a ser lanzados.
- #SBATCH --ntasks=2
- ### Nombre de partcion
- #SBATCH --partition=batch
- ### Script que se ejecuta al arrancar el trabajo
- ### Cargar el entorno del usuario incluyendo la funcionalidad de modules
- ### No tocar
- . /etc/profile
- ### Cargar los módulos para la tarea
- # FALTA: Agregar los módulos necesarios
- module load gcc
- module load openmpi
- ### Largar el programa con los cores detectados
- ### La cantidad de nodos y cores se detecta automáticamente
- # FALTA: Cambiar el nombre del programa
- srun NOMBRE_DEL_PROGRAMA
- Tarea: ejecutar programas utilizando OPENMP
- Ejecución: sbatch openmp
- Partición: batch
- Tiempo máximo: 3 días
- submit_openmp_job.sh
- #!/bin/bash
- ### Las líneas #SBATCH configuran los recursos de la tarea
- ### (aunque parezcan estar comentadas)
- ### Nombre de la tarea
- #SBATCH --job-name=openmp_job
- ### Cola de trabajos a la cual enviar.
- #SBATCH --partition=batch
- ### Procesos a largar.
- ### Es OpenMP, o sea que un proceso en un nodo y muchos hilos.
- #SBATCH --ntasks=1
- ### Hilos por proceso
- ### Poner el mismo valor acá que en OMP_NUM_THREADS/MKL_NUM_THREADS
- #SBATCH --cpus-per-task=56
- ### Tiempo de ejecucion. Formato dias-horas:minutos.
- #SBATCH --time 3-0:00
- ### Script que se ejecuta al arrancar el trabajo
- ### Cargar el entorno del usuario incluyendo la funcionalidad de modules
- ### No tocar
- . /etc/profile
- ### Configurar OpenMP/MKL/etc con la cantidad de cores detectada.
- export OMP_NUM_THREADS=56
- export MKL_NUM_THREADS=56
- ### Cargar los módulos para la tarea
- # FALTA: Agregar los módulos necesarios
- module load gcc
- ### Largar el programa
- # FALTA: Cambiar el nombre del programa
- srun NOMBRE_DEL_PROGRAMA