Sessions GPU depuis un notebook
Lancez une machine GPU depuis Jupyter avec un coût maximal, obtenez les liens SSH et JupyterLab, et laissez-la s'arrêter quand vous avez terminé.
Le module nodelodge.notebook du SDK Python lance une machine Node Lodge Secure depuis une cellule de notebook, attend qu’elle soit prête, indique comment s’y connecter et l’arrête à la fin de votre bloc de travail, même après une erreur ou une cellule interrompue.
Configuration
Dans un terminal, ou dans une cellule de notebook avec %pip :
pip install ./sdk/python
Définissez votre clé d’API avant de démarrer Jupyter (la clé doit avoir les portées workloads:read et workloads:write) :
export NODELODGE_API_KEY=nl_live_...
Votre clé publique SSH est lue dans ~/.ssh/id_ed25519.pub. Voir Clés SSH.
Lancer, travailler, arrêter
from nodelodge.notebook import gpu_session
with gpu_session(max_cost_usd=5, min_vram_gb=48) as gpu:
display(gpu)
input("Press Enter to stop the machine")
display(gpu) affiche la machine, son coût maximal, la commande SSH et le lien JupyterLab. À la fin du bloc, la session s’arrête : la facturation s’arrête, la machine et son disque sont supprimés.
max_cost_usdest obligatoire. Il est réservé sur votre crédit comme budget de la session, qui ne coûte jamais plus : la facturation suit le temps réel d’exécution de la machine. Ajoutezhours=pour l’arrêter après ce nombre d’heures.- Choisissez la machine avec
gpu="H100",min_vram_gb=48ou unoffer_id=. Sans eux, la machine réservable la moins chère est utilisée. - Si la machine ne démarre pas, ou si vous interrompez la cellule pendant le démarrage, la session est arrêtée avant l’affichage de l’erreur.
- Pendant le démarrage, chaque étape du lancement est affichée une fois, dès qu’elle commence. Avec
launch(..., wait=False), appelez plus tardgpu.wait_ready(on_step=print): votre fonction reçoit chaque nouvelle étape (allocated,booting,verifying).
JupyterLab sur la machine
Chaque machine Node Lodge Secure exécute JupyterLab, prêt quand la session l’est. Exécutez gpu.jupyter_command dans un terminal : la commande ouvre SSH et amène JupyterLab sur le port 8888 de votre ordinateur. Tant qu’elle tourne, ouvrez gpu.jupyter_url dans votre navigateur. JupyterLab n’est joignable que par votre connexion SSH.
Sans bloc with
from nodelodge.notebook import launch
gpu = launch(max_cost_usd=5, gpu="A6000")
# ... later
gpu.stop()
Une session que vous n’avez pas arrêtée l’est au redémarrage ou à l’arrêt du noyau du notebook. L’arrêter vous-même, dès que vous avez terminé, est ce qui limite le coût : vous payez le temps d’exécution de la session.
Pour toutes les méthodes du SDK, voir CLI et SDK.