knowhow:slurm:guias_de_uso

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
knowhow:slurm:guias_de_uso [2026/05/20 15:19] lbernalknowhow:slurm:guias_de_uso [2026/05/20 16:15] (actual) – [1. Directivas #SBATCH] adriancr
Línea 44: Línea 44:
 #SBATCH --ntasks=1                     # Numero de tareas MPI (procesos paralelos) #SBATCH --ntasks=1                     # Numero de tareas MPI (procesos paralelos)
 #SBATCH --cpus-per-task=19             # Hilos de CPU por tarea #SBATCH --cpus-per-task=19             # Hilos de CPU por tarea
-#SBATCH --gres=gpu:nvidia_h100_nvl:1   # Recurso generico: 1 GPU H100 NVL o gpu:1 para cualquiera+#SBATCH --gres=gpu:                  # Recurso generico: 1 GPU H100 NVL o gpu:1 para cualquiera
 #SBATCH --mem=31G                      # Memoria RAM total reservada en el nodo #SBATCH --mem=31G                      # Memoria RAM total reservada en el nodo
 #SBATCH --time=24:00:00                # Tiempo maximo de ejecucion (HH:MM:SS) #SBATCH --time=24:00:00                # Tiempo maximo de ejecucion (HH:MM:SS)
Línea 98: Línea 98:
 | ''#SBATCH --ntasks=1''                  | Número de //tareas// MPI. Sin MPI deja **1**. | | ''#SBATCH --ntasks=1''                  | Número de //tareas// MPI. Sin MPI deja **1**. |
 | ''#SBATCH --cpus-per-task=19''          | Hilos de CPU por tarea. Ajusta a los //workers// de tu //DataLoader//. | | ''#SBATCH --cpus-per-task=19''          | Hilos de CPU por tarea. Ajusta a los //workers// de tu //DataLoader//. |
-| ''#SBATCH --gres=gpu:nvidia_h100_nvl:1''| 1 GPU H100 NVL. Para cualquier GPU: ''gpu:1''. Para 2: ''gpu:2''. |+| ''#SBATCH --gres=gpu:1''| 1 GPU H100 NVL. Para cualquier GPU: ''gpu:1''. Para 2: ''gpu:2''. |
 | ''#SBATCH --mem=31G''                   | RAM total del nodo. Pide solo lo necesario para no bloquear a otros. | | ''#SBATCH --mem=31G''                   | RAM total del nodo. Pide solo lo necesario para no bloquear a otros. |
 | ''#SBATCH --time=24:00:00''             | Límite de tiempo en HH:MM:SS. Al superarlo, Slurm //mata// el job. | | ''#SBATCH --time=24:00:00''             | Límite de tiempo en HH:MM:SS. Al superarlo, Slurm //mata// el job. |
Línea 104: Línea 104:
 | ''#SBATCH --error=…/%j/terminal.err''   | Fichero para //stderr//. | | ''#SBATCH --error=…/%j/terminal.err''   | Fichero para //stderr//. |
  
-<note tip>+<WRAP center round tip 60%>
 Pide siempre el **mínimo** de recursos que necesites. Cuanto más pidas, más Pide siempre el **mínimo** de recursos que necesites. Cuanto más pidas, más
 tardará Slurm en planificarte y peor //fair-share// tendrás frente a otros tardará Slurm en planificarte y peor //fair-share// tendrás frente a otros
 usuarios. Si no estás seguro, lanza pruebas cortas con ''--time=00:30:00''. usuarios. Si no estás seguro, lanza pruebas cortas con ''--time=00:30:00''.
-</note>+</WRAP> 
  
 ==== 2. Modo estricto de Bash ==== ==== 2. Modo estricto de Bash ====
Línea 160: Línea 161:
 los //checkpoints// del scratch. los //checkpoints// del scratch.
  
-<note warning>+ 
 +<WRAP center round important 60%>
 Si Slurm mata el job con ''SIGKILL'' (señal 9, no capturable), el ''trap'' **no Si Slurm mata el job con ''SIGKILL'' (señal 9, no capturable), el ''trap'' **no
 se ejecuta**. Esto ocurre típicamente al agotar el ''--time'' tras un periodo se ejecuta**. Esto ocurre típicamente al agotar el ''--time'' tras un periodo
 de gracia. Configura tu entrenamiento para guardar //checkpoints// de gracia. Configura tu entrenamiento para guardar //checkpoints//
 periódicamente al ''PERSISTENT_ARTIFACTS_DIR'' como red de seguridad. periódicamente al ''PERSISTENT_ARTIFACTS_DIR'' como red de seguridad.
-</note>+</WRAP> 
 + 
  
 ==== 6. Copia de código, datos y artefactos al scratch ==== ==== 6. Copia de código, datos y artefactos al scratch ====
Línea 194: Línea 198:
 dependencias con ''pip''. Debe ser **idempotente**. dependencias con ''pip''. Debe ser **idempotente**.
  
 +//Un comando o instrucción es idempotente si puedes ejecutarlo una o varias veces y el resultado final siempre será exactamente el mismo. No importa cuántas veces lo repitas, no causará efectos secundarios no deseados después de la primera ejecución ni depende del resultado de ejecuciones anteriores.//
 ==== 8. Variables para tu código ==== ==== 8. Variables para tu código ====
  
  • knowhow/slurm/guias_de_uso.1779290393.txt.gz
  • Última modificación: 2026/05/20 15:19
  • por lbernal