Sesiones GPU desde un notebook
Lance una máquina GPU desde Jupyter con un costo máximo, obtenga los enlaces de SSH y JupyterLab, y deje que se detenga al terminar.
El módulo nodelodge.notebook del SDK de Python lanza una máquina Node Lodge Secure desde una celda de notebook, espera a que esté lista, muestra cómo conectarse y la detiene cuando termina su bloque de trabajo, incluso tras un error o una celda interrumpida.
Configuración
En una terminal, o en una celda de notebook con %pip:
pip install ./sdk/python
Defina su clave de API antes de iniciar Jupyter (la clave necesita los alcances workloads:read y workloads:write):
export NODELODGE_API_KEY=nl_live_...
Su clave pública SSH se lee de ~/.ssh/id_ed25519.pub. Consulte Claves SSH.
Lanzar, trabajar, detener
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) muestra la máquina, lo máximo que puede costar, el comando SSH y el enlace de JupyterLab. Cuando termina el bloque, la sesión se detiene: la facturación se detiene y la máquina y su disco se eliminan.
max_cost_usdes obligatorio. Se reserva sobre su crédito como presupuesto de la sesión, que nunca cuesta más: la facturación sigue el tiempo real en que la máquina está en marcha. Añadahours=para detenerla tras ese número de horas.- Elija la máquina con
gpu="H100",min_vram_gb=48o unoffer_id=. Sin ellos, se usa la máquina reservable más barata. - Si la máquina no se inicia, o si interrumpe la celda durante el inicio, la sesión se detiene antes de mostrar el error.
- Mientras la máquina arranca, cada paso del arranque se muestra una vez, en cuanto empieza. Con
launch(..., wait=False), llame más tarde agpu.wait_ready(on_step=print): su función recibe cada paso nuevo (allocated,booting,verifying).
JupyterLab en la máquina
Cada máquina Node Lodge Secure ejecuta JupyterLab, listo cuando la sesión lo está. Ejecute gpu.jupyter_command en una terminal: abre SSH y lleva JupyterLab al puerto 8888 de su equipo. Mientras siga en marcha, abra gpu.jupyter_url en su navegador. JupyterLab solo es accesible a través de su conexión SSH.
Sin un bloque with
from nodelodge.notebook import launch
gpu = launch(max_cost_usd=5, gpu="A6000")
# ... later
gpu.stop()
Una sesión que no detuvo se detiene cuando el kernel del notebook se reinicia o se apaga. Detenerla usted mismo, en cuanto termine, es lo que mantiene bajo el costo: paga por el tiempo que la sesión está en marcha.
Para todos los métodos del SDK, consulte CLI y SDK.