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

-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.