GNU/Linux >> Tutoriales Linux >  >> Linux

Use la variable Bash dentro de la secuencia de comandos SLURM sbatch

Slurm deja de procesar #SBATCH directivas en la primera línea de código ejecutable en un script. Para usuarios cuyo #SBATCH las directivas no dependen del código que intentan ejecutar por encima de esas directivas, solo coloque el #SBATCH líneas en la parte superior.

Consulte la otra respuesta para obtener una solución alternativa si, al igual que con OP, sus opciones de muestra dependen de los comandos que ha colocado sobre ellas.

El script por lotes puede contener opciones precedidas por "#SBATCH" antes de cualquier comando ejecutable en el script . sbatch dejará de procesar más directivas #SBATCH una vez que se haya llegado a la primera línea que no sea un comentario que no sea un espacio en blanco en el script.

De los documentos de muestra, mi énfasis.


Esto no funcionará. Qué sucede cuando ejecutas

sbatch myscript.sh

es que slurm analiza el script para esas líneas especiales #SBATCH, genera un registro de trabajo, almacena el script por lotes en alguna parte. El script por lotes se ejecuta solo más tarde cuando se ejecuta el trabajo.

Por lo tanto, debe estructurar su flujo de trabajo de una manera ligeramente diferente y primero calcular la cantidad de procesos que necesita antes de enviar el trabajo. Tenga en cuenta que puede usar algo como

sbatch -n $numProcs myscript.sh

, no necesita generar automáticamente el script (también, mpirun debería poder obtener la cantidad de procesos en su asignación automáticamente, no es necesario usar "-np").


Linux
  1. Cómo usar una contraseña cifrada en Linux Bash Shell Script

  2. Cómo usar la declaración condicional if else en Bash Script

  3. Bash secuencias de comandos (I)

  4. ¿La variable Curl Outfile no funciona en Bash Script?

  5. ¿Obtener ruta completa desde dentro de Bash Script?

Use este útil script de Bash cuando observe las estrellas

Variable de exportación de bash

35 ejemplos de secuencias de comandos Bash

Cómo ejecutar un script Bash

Abra Vim desde dentro de un script de shell Bash

Inicio de sesión automático en la ventana acoplable dentro de un script bash