Notebook jupyter sur Kairos

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 :


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