Zum Hauptinhalt springen
Die Nutzung von vLLM mit NVFP4-Quantisierung stellt den leistungsstärksten allgemeinen Einsatzweg auf DGX Spark dar. Sie erhalten so einen OpenAI-kompatiblen /v1-Endpunkt, native SM121-Unterstützung sowie die von der Community gemeldeten Durchsatzwerte: 47 bis 50 Tokens pro Sekunde bei Qwen3.5-35B-A3B, 15 bis 20 Tokens pro Sekunde bei dichten Modellen vom Typ 70B sowie rund 30 Tokens pro Sekunde bei MoE-Modellen vom Typ 120B. Auf dieser Seite erhalten Sie eine Schritt-für-Schritt-Anleitung zur Installation, zum ersten Start sowie zu wichtigen Konfigurationseinstellungen.
Alternative Engines. Einige Community-Mitglieder geben an, bei bestimmten Modellkonfigurationen bessere Ergebnisse mit SGLang zu erzielen; außerdem behauptet der Atlas-Engine, dass er im Vergleich zum Standard-vLLM eine Leistungssteigerung von 2.8x bei Qwen3.6-35B-A3B erzielt. Auf dieser Seite wird der Standard-vLLM behandelt, da er die größte Modellunterstützung sowie die am besten dokumentierten Konfigurationsmöglichkeiten bietet.

Voraussetzungen

Stellen Sie vor Beginn sicher, dass Ihr DGX Spark folgende Anforderungen erfüllt:
  • Betriebssystem: DGX OS (auf Ubuntu basierend, Linux aarch64)
  • CUDA: 13.0 or later — CUDA 12 libraries fail on SM121
  • Python: 3.10 oder eine neuere Version (für die Installation via pip) bzw. Docker mit ARM64-Unterstützung
  • Arbeitsspeicher: 128 GB gemeinsam genutzt (Standardeinstellung bei allen DGX Spark / GB10 Einheiten)
Überprüfen Sie anschließend Ihre CUDA-Version:
Überprüfen Sie, ob die GPU erkannt wird:
Sie sollten die GB10 Blackwell-GPU mit einer Speichergröße von 128 GB angezeigt sehen.
DGX Spark requires CUDA 13.0 exclusively. The SM121 architecture does not support CUDA 12 libraries. If nvcc --version shows CUDA 12.x, update your DGX OS packages before proceeding.

Installieren Sie vLLM.

1

Installieren Sie vLLM mittels pip.

Der einfachste Weg unter DGX OS besteht in einer direkten Installation via pip. vLLM stellt ARM64-kompatible Pakete bereit, die auf dem Grace-Prozessor funktionieren.
Falls Sie die aktuellste NVFP4- oder SM121-Version benötigen:
2

Alternativ können Sie das Docker-Image herunterladen.

Falls Sie eine containerbasierte Deployment-Methode bevorzugen, laden Sie bitte das für ARM64 geeignete Image herunter.
Starten Sie das Programm mit GPU-Unterstützung.
3

Überprüfen Sie abschließend die Installation.

Stellen Sie sicher, dass vLLM gestartet wird und die GPU korrekt erkennt.
Wenn hier eine Versionsnummer ausgegeben wird, ohne dass CUDA-Fehler auftreten, ist alles bereit für den Betrieb.

Starten Sie Ihr erstes Modell

Beginnen Sie mit einem 35B MoE-Modell – es ist schnell, bereits ausgiebig getestet und lässt ausreichend Speicherplatz übrig.
Damit wird ein OpenAI-kompatibler Server auf http://127.0.0.1:8000 gestartet. Testen Sie ihn:
Innerhalb weniger Sekunden sollten Sie eine Antwort erhalten; die Zeit bis zum ersten Token beträgt etwa 0.12 Sekunden.

Optimale Einstellungen je nach Modellgröße

The 3 settings that matter most on DGX Spark are --gpu-memory-utilization, --max-model-len, and --quantization. Here are tested starting points:

35B MoE-Modelle (Qwen3.5-35B-A3B, Qwen3.6-35B-A3B)

35B MoE models use only ~18 GB for weights, leaving substantial room for KV cache. You can push max-model-len higher if you need longer context.

70B dichte Modelle

70B dense models use ~35 GB for weights at NVFP4. Keep max-model-len at 8192 to leave room for KV cache across concurrent requests. Community reports show multi-user concurrency is limited to 5-10 users at this size.

120B MoE-Modelle (Qwen3.5-122B-A10B, Nemotron-3-Super-120B)

120B MoE-Modelle benötigen etwa 60 GB Speicherplatz für die Gewichte. Dank der 8192 Kontextbegrenzung bleibt der KV-Cache übersichtlich. Bei der Inferenz für einen einzelnen Nutzer sind etwa 30 Tokens pro Sekunde zu erwarten.
Für detaillierte Einstellungen zum Speicherverbrauch – etwa zur Größenanpassung des KV-Caches, zum Abwägen der Batch-Größe sowie zum --kv-cache-dtype fp8 – lesen Sie bitte das Dokument DGX Spark Memory Tuning.

NVFP4 configuration recipes

NVFP4 ist die empfohlene Quantisierungsmethode für DGX Spark. Sie wird nativ auf SM121 ausgeführt und reduziert die Modellgröße um 75%, wobei die Qualität kaum beeinträchtigt wird.

Verwenden Sie ein bereits quantisiertes Modell

NVIDIA stellt NVFP4-Checkpoints auf Hugging Face bereit. Nutzen Sie dazu das Präfix nvidia/.

Online-Quantisierung zum Zeitpunkt des Ladens

Falls kein vorquantisiertes Checkpoint vorhanden ist, kann vLLM ein BF16-Modell im laufenden Betrieb quantisieren.
Dieser Vorgang dauert länger, da das Modell zunächst im Arbeitsspeicher quantisiert werden muss; er funktioniert jedoch für sämtliche von vLLM unterstützte Modellarchitekturen.

Eine Alternative zu SGLang

Einige Mitglieder der Community empfehlen SGLang statt der Standardversion von vLLM für bestimmte DGX Spark-Arbeitslasten. SGLang nutzt denselben CUDA 13.0-Stack und identische Modellformate.
Man sollte SGLang in Betracht ziehen, falls die Standardkonfiguration von vLLM die Leistungsanforderungen für ein spezifisches Modell nicht erfüllt. Die Konfigurationsmöglichkeiten unterscheiden sich; daher sollte man sich in der SGLang-Dokumentation nach DGX Spark-spezifischen Einstellungen erkundigen.

ARM64 and SM121 gotchas

Der Grace-Prozessor (ARM64) sowie die Blackwell-GPU (SM121) von DGX Spark weisen einige plattformspezifische Eigenheiten auf, die man kennen sollte, bevor man auf sie stößt.
Bei DGX Spark reagiert das System nicht mehr, anstatt einen CUDA-Speicherüberlauf zu melden. In Systemen mit vereinheitlichtem Speicher führt ein Modell samt KV-Cache, das den verfügbaren Speicher überschreitet, zum Einfrieren des Systems statt zu einem sauberen Fehler. Beginnen Sie stets mit konservativen gpu_memory_utilization-Werten (0.85 für große Modelle) und erhöhen Sie diese erst nach Bestätigung der Stabilität.

Testen Sie Ihre Konfiguration im Benchmark.

Nach dem Starten überprüfen Sie die Durchsatzrate mittels eines kurzen Benchmarks.
Vergleichen Sie Ihre Ergebnisse mit der erwarteten Anzahl an Tokens pro Sekunde aus der obigen Tabelle. Sollte die Durchsatzrate deutlich geringer sein, stellen Sie sicher, dass CUDA 13.0 aktiv ist und keine anderen Prozesse den GPU-Speicher belegen. Beobachten Sie während des Betriebs die Speichernutzung.

Richten Sie Ihren Endpunkt mithilfe von Tokios ein.

Auf dem Spark-System stellt vLLM einen lokalen /v1-Endpunkt bereit. Um von Ihrem Laptop, Entwicklungsagenten oder Kollegen darauf zuzugreifen – ohne SSH-Tunnel oder offene Ports – führen Sie den Tokios-Connector parallel zu vLLM aus.
1

Starten Sie vLLM auf dem Spark-System.

Starten Sie Ihr Modell gemäß der obigen Anleitung. Prüfen Sie anschließend, ob es auf Anfragen unter http://127.0.0.1:8000/v1 reagiert.
2

Installieren und verknüpfen Sie den Connector.

Öffnen Sie im Tokios dashboard das Menü Setup und wählen Sie Start pairing aus, um einen Pairing-Code zu erhalten. Auf dem Spark-System:
3

Erstellen Sie eine neue Deployment-Einstellung.

Wählen Sie im Reiter Models die Upstream-Modell-ID Ihres vLLM-Modells aus und weisen Sie ihr einen Deployment-Namen zu. Clients nutzen diesen Deployment-Namen statt der Upstream-Modell-ID.
Weitere Beispiele zur Client-Konfiguration finden Sie im vollständigen DGX Spark-Anwendungsleitfaden.

Kompatibilität der Modelle

Prüfen Sie, welche Modelle in 128 GB passen und welche Leistung sie erbringen.

Speichereinstellungen

Festlegung der Größe des KV-Caches, Verwendung von FP8-KV-Cache sowie Anpassung der Parameter für Produktionsumgebungen.

Fernzugriff auf vLLM

Allgemeine Methoden zum Fernzugriff auf vLLM außerhalb von DGX Spark.

Eins oder zwei Spark-Systeme

Erweiterung auf 405B Modelle mittels eines zweiten Spark-Systems und Tensor-Parallelismus.