Il est possible de faire un notebook jupyter sur Kairos, à certaines conditions :
- la durée de connexion ne peut pas excéder 8 heures
- La réservation est sur la file "shared-gpu", et par conséquent limitée à 1 GPU, 72 CPUs et 212 G de RAM
- Pour un travail plus intensif, il vaut mieux préférer le lancement par sbatch qui permet de réserver des ressources adaptées
Comment demander une session interactive de notebook jupyter
Lorsque vous êtes connecté sur une frontale de kairos, exécutez le script :
runJupyterSession.sh
Laissez le script démarrer (cela prend quelques secondes, soyez patient...), puis vous devriez voir un affichage de ce style :
[ 3/150] Queuing and waiting for Jupyter session resources initialization (JJJJJ) ...
jupyter session ...
#===========================================================================
|
| Your jupyter notebook is now available.
|
| You must now open a TERMINAL on YOUR laptop and execute the command :
|
| ssh -L 8888:/users/pxxxxx/uyyyyy/.jupyter/jupyter-notebook-WW.XX.YY.ZZ-JJJJJ.sock -n uyyyyy [at] WW [dot] XX [dot] YY [dot] ZZ (uyyyyy[at]WW[dot]XX[dot]YY[dot]ZZ) 'si-init.sh'
|
| Then from your browser, visit the following url :
|
| http://localhost:8888/?token=azertyuiopqsdfghjklmwxcvbn
|
#===========================================================================
| CAUTION : DO NOT CLOSE this slurm job or this terminal !
#===========================================================================
+---------------------------------------------------------------------------
| CONNECTION INFO :
| * Job ID : JJJJJ
| * Client : WWW.XXX.YYY.ZZZ (FROM THE MOON)
| * Target : WW.XX.YY.ZZ (kairosghY)
| * Notebook URL : http://localhost:8888/?token=azertyuiopqsdfghjklmwxcvbn
| * Notebook token : azertyuiopqsdfghjklmwxcvbn
| * SSH tunnel socket path : /users/pxxxxx/uyyyyy/.jupyter/jupyter-notebook-WW.XX.YY.ZZ-JJJJJ.sock
+---------------------------------------------------------------------------
[/] - Press CTRL-C to quit
Sur un second terminal sur votre poste de travail, exécuter la commande ssh donnée par le script :
ssh -L 8888:/users/pxxxxx/uyyyyy/.jupyter/jupyter-notebook-WW.XX.YY.ZZ-JJJJJ.sock -n uyyyyy [at] WW [dot] XX [dot] YY [dot] ZZ (uyyyyy[at]WW[dot]XX[dot]YY[dot]ZZ) 'si-init.sh'
Patientez là encore quelques secondes et vous devriez obtenir le message suivant :
#===========================================================================
|
| ssh tunnel established.
|
#===========================================================================
| CAUTION : DO NOT CLOSE this terminal !
#===========================================================================
⚠️ DO NOT CLOSE TERMINALS
Comme les 2 messages l'indiquent, ne fermez pas la fenêtre de demande de session interactive sur Kairos, ni celle du tunnel ssh sur votre poste de travail.
Enfin, vous pouvez utiliser votre notebook jupyter :
- En utilisant le navigateur de votre poste de travail et copier/coller l'URL fournie par le script "http://localhost:8888/?token=..."
- En utilisant vscode, et copier/coller l'URL fournie par le script "http://localhost:8888/?token=..." en suivant la documentation officielle de vscode
- Installer un paquet python depuis le notebook jupyter
- Utiliser un environnent python dédié pour son notebook
Installer un paquet python depuis le notebook jupyter
Pour installer un paquet python supplémentaire dans mon environnement, à l'intérieur d'une cellule du notebook, on peut exécuter la commande suivante :
!pip install --user monpaquet'
Exemple pour installer le paquet "ansicolors" depuis d'une cellule du notebook :
!pip install --user ansicolors
Utiliser un environnent python dédié pour son notebook
Il est possible d'utiliser l'option --userbase afin de spécifier un chemin alternatif pour les modules ou les environnements python (https://docs.python.org/3/using/cmdline.html#envvar-PYTHONU…
runJupyterSession.sh --userbase /users/${GROUP}/${USER}/mon_custom_python_env