JupyterLab
Einleitung
JupyterLab ist eine web-basierte Schnittstelle zu Project Jupyter, die die Interaktion zwischen Dokumenten und Aktivitäten wie Jupyter notebooks, Texteditoren und Terminals erlaubt.
JupyterLab sollte nicht auf dem Login-Knoten gestartet werden. Stattdessen sollte es auf einem Rechnenknoten laufen. Dies kann man erreicht mit folgendem Ansatz.
Passwort erzeugen
Folgendes muss nur einmal ausgeführt werden.
Führen Sie die unten stehenden Befehle auf dem Login-Knoten des HPC-Clusters aus. Sie werden aufgefordert werden, ein Passwort zu erzeugen, dass Sie später verwenden werden, um auf JupterLab zu zugreifen.
module add JupyterLab/4.0.5-GCCcore-12.3.0
jupyter lab --generate-config
jupyter lab password
Batch-Job abschicken
Verwenden Sie folgendes Skript als Vorlage und schicken Sie es als regulären Job mit sbatch
ab.
#!/bin/bash
#SBATCH --job-name=jupyter-notebook
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=8
#SBATCH --mem=20G
#SBATCH --gres=gpu:1
#SBATCH --qos=hiprio
#SBATCH --partition=gpu
#SBATCH --time=3:00:00
# Get tunneling information
XDG_RUNTIME_DIR=""
node=$(hostname -s)
port=`python3 -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()'`
# Tunneling instructions
echo -e "
On your local computer, create an SSH tunnel:
ssh -N -f -L ${port}:${node}:${port} ${USER}@curta.zedat.fu-berlin.de
On your local computer, point a browser to:
http://localhost:${port}
and enter the password you created earlier.
"
# Load modules and run JupyterLab
module add JupyterLab/4.0.5-GCCcore-12.3.0
jupyter lab path
jupyter-lab --no-browser --port=${port} --ip=${node}