GPU-Sitzungen aus einem Notebook

Starten Sie eine GPU-Maschine aus Jupyter mit Höchstkosten, erhalten Sie die SSH- und JupyterLab-Links und lassen Sie sie am Ende stoppen.

Das Modul nodelodge.notebook des Python-SDK startet aus einer Notebook-Zelle eine Secure-Maschine von Node Lodge, wartet, bis sie bereit ist, zeigt, wie Sie sich verbinden, und stoppt sie, wenn Ihr Arbeitsblock endet, auch nach einem Fehler oder einer unterbrochenen Zelle.

Einrichtung

Im Terminal oder in einer Notebook-Zelle mit %pip:

pip install ./sdk/python

Setzen Sie Ihren API-Schlüssel, bevor Sie Jupyter starten (der Schlüssel braucht die Scopes workloads:read und workloads:write):

export NODELODGE_API_KEY=nl_live_...

Ihr öffentlicher SSH-Schlüssel wird aus ~/.ssh/id_ed25519.pub gelesen. Siehe SSH-Schlüssel.

Starten, arbeiten, stoppen

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) zeigt die Maschine, ihre Höchstkosten, den SSH-Befehl und den JupyterLab-Link. Wenn der Block endet, stoppt die Sitzung: Die Abrechnung endet, Maschine und Festplatte werden gelöscht.

  • max_cost_usd ist erforderlich. Der Betrag wird als Budget der Sitzung auf Ihrem Guthaben reserviert, und die Sitzung kostet nie mehr: Abgerechnet wird die tatsächliche Laufzeit der Maschine. Mit hours= stoppt sie nach dieser Anzahl Stunden.
  • Wählen Sie die Maschine mit gpu="H100", min_vram_gb=48 oder einer offer_id=. Ohne diese Angaben wird die günstigste buchbare Maschine verwendet.
  • Startet die Maschine nicht, oder unterbrechen Sie die Zelle während des Starts, wird die Sitzung gestoppt, bevor der Fehler erscheint.
  • Während die Maschine startet, wird jeder Startschritt einmal angezeigt, sobald er beginnt. Mit launch(..., wait=False) rufen Sie später gpu.wait_ready(on_step=print) auf: Ihre Funktion erhält jeden neuen Schritt (allocated, booting, verifying).

JupyterLab auf der Maschine

Jede Secure-Maschine von Node Lodge führt JupyterLab aus, bereit, sobald die Sitzung bereit ist. Führen Sie gpu.jupyter_command in einem Terminal aus: Der Befehl öffnet SSH und leitet JupyterLab auf Port 8888 Ihres Computers weiter. Solange er läuft, öffnen Sie gpu.jupyter_url in Ihrem Browser. JupyterLab ist nur über Ihre SSH-Verbindung erreichbar.

Ohne with-Block

from nodelodge.notebook import launch

gpu = launch(max_cost_usd=5, gpu="A6000")
# ... later
gpu.stop()

Eine nicht gestoppte Sitzung wird gestoppt, wenn der Notebook-Kernel neu startet oder beendet wird. Stoppen Sie sie selbst, sobald Sie fertig sind: So halten Sie die Kosten niedrig, denn Sie zahlen für die Laufzeit der Sitzung.

Alle SDK-Methoden finden Sie unter CLI und SDK.

Zuletzt aktualisiert

Ergebnisse erscheinen beim Tippen. Mit den Pfeiltasten wechseln Sie zwischen ihnen.