knowhow:slurm:ejemplo_workflow_jupyternb

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
knowhow:slurm:ejemplo_workflow_jupyternb [2026/05/20 15:35] – borrado - editor externo (Fecha desconocida) 127.0.0.1knowhow:slurm:ejemplo_workflow_jupyternb [2026/05/20 15:35] (actual) – ↷ Página movida de servicios:slurm:ejemplo_workflow_jupyternb a knowhow:slurm:ejemplo_workflow_jupyternb lbernal
Línea 1: Línea 1:
 +<WRAP center round important 60%> Página visible a externos sin autenticación </WRAP>
  
 +====== Tutorial — Ejecutar Jupyter en Slurm mediante sbatch ======
 +
 +Este documento describe paso a paso cómo lanzar un servidor Jupyter en un nodo de cómputo usando Slurm, obtener la URL de conexión, conectarse desde navegador o VS Code hasta comprobar que el kernel utiliza el entorno virtual correcto.
 +
 +===== 1) Enviar el job y localizar los archivos de salida =====
 +
 +Envía el script sbatch:
 +
 +<code bash> sbatch jupyter.sbatch </code>
 +
 +Comprueba el identificador del job:
 +
 +<code bash> squeue -u $USER </code>
 +
 +El job creará un directorio persistente similar a:
 +
 +<code> /slurm/home/<usuario>/output/<JOBID>/Output </code>
 +
 +Dentro encontrarás los archivos importantes:
 +
 +CONNECT.txt → instrucciones de conexión
 +
 +JUPYTER_URL.txt → URL con token (si ya fue detectada)
 +
 +jupyter.log → salida completa del servidor Jupyter
 +
 +Consultar URL automáticamente detectada:
 +
 +<code bash> cat /slurm/home/$USER/output/<JOBID>/Output/JUPYTER_URL.txt </code>
 +
 +Consultar instrucciones de conexión:
 +
 +<code bash> cat /slurm/home/$USER/output/<JOBID>/Output/CONNECT.txt </code>
 +
 +Consultar directamente el log del servidor:
 +
 +<code bash> cat /slurm/home/$USER/output/<JOBID>/Output/jupyter.log </code>
 +
 +La salida contendrá una línea similar a:
 +
 +<code> http://slurm-cpu01:9593/?token=<TOKEN> </code>
 +
 +{{:servicios:slurm:1slurm.png?400|}}
 +
 +===== 2) Abrir desde VS Code usando servidor Jupyter existente =====
 +
 +Abrir el notebook en VS Code
 +
 +Seleccionar el kernel
 +
 +{{:servicios:slurm:2slurm.png?400|}}
 +
 +Elegir ''Select Another Kernel...''
 +
 +{{:servicios:slurm:3slurm.png?400|}}
 +
 +Seleccionar ''Existing Jupyter Server...''
 +
 +{{:servicios:slurm:4slurm.png?400|}}
 +
 +Pegar la URL completa obtenida anteriormente
 +
 +{{:servicios:slurm:5slurm.png?400|}}
 +
 +Ejemplo:
 +
 +<code> http://<ip_nodo>:<PORT>/?token=<TOKEN> </code>
 +
 +VS Code quedará conectado al servidor Jupyter que corre dentro del job de Slurm.
 +
 +{{:servicios:slurm:6slurm.png?400|}}
 +
 +===== 3) Usar el kernel registrado del entorno virtual del job =====
 +
 +El job crea un entorno virtual dentro del scratch del nodo:
 +
 +<code> /scratch/slurm/<usuario>/<JOBID>/tmp/jupyter-<JOBID>/.venv </code>
 +
 +Además registra un kernel de Jupyter asociado a ese entorno.
 +
 +Una vez conectado al servidor Jupyter:
 +
 +Abrir el selector de kernel del notebook
 +
 +Elegir el kernel registrado por el job
 +
 +Esto hace que las celdas se ejecuten dentro del entorno virtual creado en el nodo y no en el Python local.
 +
 +===== 4) Verificar que el notebook usa el entorno correcto =====
 +
 +Dentro del notebook ejecuta la celda de comprobación incluida en la plantilla.
 +
 +{{:servicios:slurm:8slurm.png?400|}}
 +
 +El resultado esperado debe confirmar que el kernel utiliza el entorno virtual:
 +
 +<code> Venv check: OK (kernel is using the selected venv). </code>
 +
 +Si aparece ese mensaje, el notebook está ejecutándose dentro del entorno creado por el job de Slurm.
 +
 +===== 5) Workflow esperado =====
 +
 +En una primera etapa de desarrollo utilizamos Jupyter Notebook comenzando con la plantilla dada en gitlab como se ha representado anteriormente, añades celdas y generas tus .py en caso de necesitar cómputo con output, una vez hecho esto se utilizará otra plantilla también alojada en gitlab para de forma efectiva se cree otro sbatch de quizá duración ampliada o recursos ampliados.