Jupyter Notebook

Instalación de Jupyter mediante Anaconda

El siguiente script genera una instalación limpia de Miniconda3 y Jupyter Notebook. Copiar y pegar el siguiente script sbatch en un archivo llamado instalajupyter.sbatch en su directorio home.

#!/bin/bash
#SBATCH --job-name=instalajupyter
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=1
#SBATCH --mem=8G
#SBATCH --time=1:00:00
#SBATCH --partition=normal
#SBATCH --qos=normal
#SBATCH --output=install_jupyter.out

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

#instala miniconda
sh Miniconda3-latest-Linux-x86_64.sh -b -u

#carga el env
source /clusteruy/home/$USER/miniconda3/bin/activate

#instala jupyter
pip install jupyter

echo "Finalizó la instalación de Jupyter"

ejecutar el script con:

sbatch instalajupyter.sbatch

Esperar que concluya la instalación, puede demorar cierto tiempo.

Para saber cuándo concluye se puede ejecutar:

watch tail install_jupyter.out

Iniciar servidor Jupyter y creación del túnel ssh.

Conectarse a cluster.uy normalmente

ssh cluster.uy

Crear un archivo llamado servidorjupyter.sh ubicado en su home de cluster. Puede hacerlo utilizando vim.

vim servidorjupyter.sh

y pegar el siguiente script en él.

#!/bin/bash
source /clusteruy/home/$USER/miniconda3/bin/activate

echo "COPIE PEGUE Y EJECUTE LO SIGUIENTE EN SU CONSOLA BASH LOCAL, SE GENERARÁ EL TUNEL SSH PARA REALIZAR LA CONEXIÓN CON EL SERVIDOR JUPYTER"
echo "------------------------------------------------------------"
echo "ssh -L 8000:$SLURM_NODELIST.datos.cluster.uy:8000 $USER@cluster.uy"
echo "------------------------------------------------------------"
echo "Luego abra link que aparece a continuación (el que empieza con la IP 127.0.0.1) con el navegador web de su preferencia."

jupyter-notebook --no-browser --port=8000 --ip=0.0.0.0

Solicitar un trabajo interactivo con los parámetros que uno quiera. Por ejemplo:

srun -p normal -c 1 --time=01:00:00 --ntasks=1 --pty bash -c "sh servidorjupyter.sh; exec bash"

para solicitar un procesador solo, el parámetro --time= indica que el trabajo durará una hora, por eso el usuario debe considerar cuánto tiempo utilizará la notebook al solicitar el trabajo. Luego debe seguir los pasos que se indican em consola para generar el tunel ssh.

si quiere solicitar un trabajo con una gpu

srun -p normal -c 1 --time=01:00:00 --ntasks=1 --qos=gpu --gres=gpu:1 --pty bash -c "sh servidorjupyter.sh; exec bash"

Luego de que se asigne el trabajo, siga las instrucciones que aparecen en pantalla para generar el tunel ssh. Recuerde que puede abrir una consola desde la notebook de jupyter en el botón “New”-> “Terminal” y utilizarla para instalar algún paquete de python faltante.