Lorsque vous utilisez JupyterHub, un serveur JupyterLab est lancé pour vous sur le cluster à l'aide de SLURM. Ainsi, votre serveur correspond à l'execution d'un job step (srun) au sein d'un job SLURM.
Lorsque vous essayez de lancer srun directement depuis le terminal Unix de JupyterLab, vous exécutez ce srun dans le cadre de la réservation du job créé pour JupyterLab. Ce srun ne pourra pas s'executer car il y a déjà un job step en cours pour le serveur Jupyter. C'est pourquoi il est temporairement impossible de créer un job step.
Pour utiliser srun depuis le terminal Unix de JupyterLab, il vous faudra d'abord créer une réservation de ressources à l'aide de la commande salloc. Vous pourrez alors utilisez srun en mode interactif dans le cadre de cette nouvelle réservation.
A la fin de votre session de travail interactif, n'oubliez pas de libérer les ressources réservés à l'aide de la commande exit ou Ctrl+D.
L'utilisation de la réservation de ressources avec salloc est la démarche que nous vous recommandons, y compris depuis le login node SSH.
Je comprends beaucoup mieux maintenant pourquoi cela fonctionnait depuis un terminal local et pas depuis JupyterLab. J'allouerai bien les ressources à l'avenir avant de passer en mode interactif !