SBATCH

De WikiAbacus
Saltar a: navegación, buscar

Sbatch envía un script por lotes a Slurm. La secuencia de comandos de lotes se puede dar a sbatch a través de un nombre de archivo en la línea de comandos, o si no se especifica ningún nombre de archivo, sbatch leerá en un script de entrada estándar. El script por lotes puede contener opciones precedidas de "#SBATCH" antes de cualquier comando ejecutable en el script.

Sbatch sale inmediatamente después de que el script se transfiera correctamente al controlador Slurm y se le asigne un ID de trabajo Slurm. El script de proceso por lotes no necesariamente recibe recursos inmediatamente, puede permanecer en la cola de trabajos pendientes durante algún tiempo antes de que sus recursos necesarios estén disponibles.

De forma predeterminada, tanto la salida estándar como el error estándar se dirigen a un archivo del nombre "slurm-% j.out", donde se sustituye "% j" por el número de asignación de trabajo. El archivo se generará en el primer nodo de la asignación de trabajo. Aparte de la secuencia de comandos por lotes, Slurm no realiza ningún movimiento de los archivos de usuario.

Cuando finalmente se concede la asignación de trabajo para la secuencia de comandos de lotes, Slurm ejecuta una copia única de la secuencia de comandos de lotes en el primer nodo del conjunto de nodos asignados.

Opciones[editar]

-a, --array = <índices>

Para enviar una matriz de trabajos o multiples trabajos que se ejecutarán con parámetros idénticos, la especificación de índices es util para identificar qué valores del índice de la matriz se deben utilizar.

Se pueden especificar varios valores utilizando una lista separada por comas y/o un intervalo de valores con un separador "-", por ejemplo:

    "--array = 0-15" o "--array = 0,6,16-32"

También se puede especificar una función de paso con un sufijo que contiene dos puntos y un número, por ejemplo:

    "--array = 0-15: 4" es equivalente a "--array = 0,4,8,12"

Asimismo se puede especificar un número máximo de tareas que se ejecutan simultáneamente desde la matriz de trabajos mediante un separador "%", por ejemplo:

    "--array = 0-15% 4" 

De esta forma, se limitará el número de tareas simultáneas que se ejecutan desde esta matriz de trabajos a 4. El valor de índice mínimo es 0 y el valor máximo es uno menos que el parámetro de configuración MaxArraySize.

--gres = <lista>

Especifica una lista delimitada por comas de recursos consumibles genéricos. El formato de cada entrada en la lista es:

    "nombre [[: tipo]: cuenta]" 

En este caso, el nombre es el del recurso consumible y la cuenta es el número de esos recursos con un valor predeterminado de 1. Los recursos especificados se asignarán al trabajo en cada nodo.

Los recursos de consumibles genéricos disponibles son configurables por el administrador del sistema.

Se imprimirá una lista de recursos de consumibles genéricos disponibles y el comando se cerrará si el argumento de opción es "ayuda". Ejemplos de uso incluyen:

    "--gres = gpu: 2, mic = 1", "--gres = gpu: kepler: 2" y "--gres = help"

-J, --job-name = <jobname>

Especifica un nombre para la asignación de trabajos. El nombre especificado aparecerá junto con el número de identificación del trabajo al consultar trabajos en ejecución en el sistema. El valor predeterminado es el nombre del script de lote o simplemente "sbatch" si se lee el script en la entrada estándar de sbatch.

--mail-type = <tipo>

Notifica al usuario por correo electrónico cuando se produzcan ciertos tipos de eventos. Los valores de tipo válidos son NONE, BEGIN, END, FAIL, REQUEUE, ALL (equivalente a BEGIN, END, FAIL, REQUEUE y STAGE_OUT), STAGE_OUT TIME_LIMIT_80 (alcanzó el 80% del límite de tiempo), TIME_LIMIT_50 (alcanzó el 50% del límite de tiempo) y ARRAY_TASKS (enviar correos electrónicos para cada tarea de matriz). Se pueden especificar varios valores de tipo en una lista separada por comas.

El usuario a ser notificado está indicado con --mail-user, a menos que se especifique la opción ARRAY_TASKS, las notificaciones de correo en el trabajo BEGIN, END y FAIL se aplican a una matriz de trabajos como un todo en lugar de generar mensajes de correo electrónico individuales para cada tarea de la matriz de trabajos.

--mail-user = <usuario>

El usuario recibirá una notificación por correo electrónico de los cambios de estado definidos por --mail-type. El valor predeterminado es el usuario que envía.