¿Cambiar la secuencia de comandos bash enviada a sbatch en slurm durante la ejecución es una mala idea?

Quería ejecutar un script de Pythonmain.py varias veces condiferente argumentos a través de unsbatch_run.sh guión como en:

#!/bin/bash
#SBATCH --job-name=sbatch_run
#SBATCH --array=1-1000
#SBATCH --exclude=node047

arg1=10 #arg to be change during runs
arg2=12 #arg to be change during runs
python main.py $arg1 $arg2

Los argumentos están codificados en el archivo bash ejecutado por sbatch. Me preocupaba que si corríasbatch_run.sh varias vecesuno después del otro pero cambiando el valor de arg1 y arg2 durante cada ejecución, eso podría causar errores en mis ejecuciones. Por ejemplo si lo hago:

sbatch sbatch_run.sh # with arg1=10 and arg2=12

y entoncesinmediatamente despues de cambiarsbatch_run.sh pero ejecute el archivo nuevamente como en:

sbatch sbatch_run.sh # with arg1=69 and arg2=666

en caso de que mis carreras corran a todas con la última (es decir,arg1=69 yarg2=666) en lugar de cada ejecución con sus propios argumentos.

Sé con certeza que si codifico los argumentos en main.py y luego ejecuto el mismo script sbatch pero cambio main.py, se ejecutará el último. Me preguntaba si ese es el caso también si cambio elsbatch_run.sh guión.

Para que lo sepas, intenté este experimento, ejecutando 1000 scripts, luego algunos se ponen en cola y ponen un comando de suspensión y luego cambian elsbatch_run.sh. Parece que no cambia lo que es mi carrera, sin embargo, si estoy equivocado, esto es demasiado importante como para estar equivocado por accidente y quería asegurarme de que también pregunte.

Para el registro corrí:

#!/bin/bash
#SBATCH --job-name=ECHO
#SBATCH --array=1-1000
#SBATCH --exclude=node047

sleep 15
echo helloworld
echo 5

y luego cambie el eco a echo 10 o echo byebyeworld.

Respuestas a la pregunta(1)

Su respuesta a la pregunta