Zum Hauptinhalt springen
Ein einzelner DGX Spark verarbeitet Modelle, die in seinen 128 GB Unified-Memory-Pool passen. Zwei Sparks, die über eine 200 Gigabit pro Sekunde schnelle QSFP-Verbindung gekoppelt sind, können ausgewählte verteilte Modelle ausführen, die nicht auf einem einzelnen 1 Knoten untergebracht werden können. Der zusätzliche Netzwerkweg erhöht jedoch den Koordinationsaufwand; daher sollte man die Durchsatzrate und Latenz unter den tatsächlichen Laufbedingungen messen, anstatt von einem 2-fachen Leistungszuwachs auszugehen.

Kurzfassung

Wann reicht der Einsatz von 1 Spark aus

Ein einzelner DGX Spark mit 128 GB Speicher ist die ideale Wahl, wenn:
  • Ihr Modell bei angemessener Quantisierung passt. Dichte Modelle bis zu einer Größe von 70B im NVFP4-Format (etwa 35 GB) sowie MoE-Modelle bis zu 120B im NVFP4-Format (etwa 60 GB) lassen sich auf einem einzigen Knoten betreiben, wobei noch Platz für den KV-Cache bleibt.
  • You serve 1-5 concurrent users. Single-Spark inference handles small team workloads at 35B MoE. For 70B dense, plan for 5-10 users maximum.
  • Die Latenz ist wichtiger als die reine Modellgröße. Ein einzelner Spark vermeidet den Kommunikations-Overhead zwischen Knoten, der durch Tensor-Parallelismus entsteht. Bei einem MoE-Modell der Größe 35B erreicht die Ein-Knoten-Bereitstellung eine Geschwindigkeit von 47 bis 50 Tokens pro Sekunde – ausreichend für Echtzeit-Coding-Agenten und Chat-Anwendungen.
  • You want simple operations. 1 machine, 1 runtime, 1 point of failure. No network configuration, no distributed launch, no NCCL debugging.
Einen vollständigen Überblick über kompatible Modelle finden Sie in der DGX Spark-Modellkompatibilitätsmatrix.

Falls Sie 2 Sparks benötigen

Fügen Sie einen zweiten Spark hinzu, falls eine der folgenden Bedingungen zutrifft:
  • Your quantized model exceeds 128 GB but fits comfortably below 256 GB after runtime and KV-cache headroom. DeepSeek-V4-Flash-0731 is an example, with a published 162–167 GB weight floor.
  • Sie benötigen mehr KV-Cache-Kapazität oder höhere Parallelität bei einem Modell, das bereits für verteilte Bereitstellung getestet wurde. Tensor-Parallelismus verteilt zwar die Speicherlast, garantiert jedoch keine proportional höhere Durchsatzrate.
  • Sie sind nun bereit, die Leistung der vernetzten Runtime zu bewerten. Die Kommunikationsüberlastung sowie die Modellarchitektur bestimmen das Ergebnis.
Ein dichtes Modell vom Typ 405B in FP8-Format benötigt allein für die Gewichte etwa 405 GB. Es passt nicht in den kombinierten Speicher von 2 Sparks mit einer Kapazität von 256 GB. Informationen zu einer getesteten Route mit 2 Sparks für DeepSeek sowie zu den Kontextvorgaben finden Sie unter DeepSeek V4 Flash – lokale Hardware.
Zwei DGX Sparks werden direkt über ein 200 Gbit/s QSFP-Kabel verbunden – ein Switch ist dabei nicht erforderlich. NVIDIA stellt dazu ein offizielles „Connect Two Sparks Playbook“ bereit.
1

Anschließen des QSFP-Kabels

Stecken Sie das 200 Gbit/s QSFP-Kabel in den jeweiligen QSFP-Anschluss beider DGX Sparks ein. Es handelt sich dabei um eine direkte Punkt-zu-Punkt-Verbindung, die nicht über Ihren Netzwerk-Switch läuft.
2

Überprüfen der Verbindung

Auf beiden Sparks sollten Sie prüfen, ob die Verbindung mit voller Geschwindigkeit aktiv ist:
Suchen Sie nach der QSFP-Schnittstelle, die den Zustand UP anzeigt. Bestätigen Sie anschließend die Übertragungsgeschwindigkeit:
Sie sollten dort 200000Mb/s (entspricht 200 Gbit/s) erkennen.
3

Einrichten der IP-Adressen

Weisen Sie statische IP-Adressen aus dem Subnetz der QSFP-Verbindung zu. Auf Spark A:
Auf Spark B:
Überprüfen Sie die Verbindung:
4

Legen Sie die NCCL-Umgebungsvariablen fest

Die NCCL (NVIDIA Collective Communications Library) verwaltet die Kommunikation zwischen GPUs auf verschiedenen Knoten. Setzen Sie diese Variablen auf beiden Spark-Systemen vor dem Start von vLLM:
Diese Variablen weisen NCCL an, den QSFP-Link für die Kommunikation zu nutzen und GPU Direct RDMA zu aktivieren, um die Latenz so gering wie möglich zu halten.

Tensor-Parallelismus über 2 Spark-Systeme

vLLM unterstützt verteilten Tensor-Parallelismus: Jedes Spark-System verwaltet einen Teil der Modellgewichte und tauscht Daten über den QSFP-Link während der Inferenz aus.

Starten Sie ein verteiltes Modell

Auf Spark A (dem Hauptknoten) starten Sie vLLM im verteilten Modus:
vLLM nutzt Ray, um die beiden Spark-Systeme zu koordinieren. Spark A lädt die Hälfte der Modellteile, Spark B die andere Hälfte; beide synchronisieren sich via NCCL über den QSFP-Link.
Für zwei Spark-Systeme ist Tensor-Parallelismus die optimale Strategie. Pipeline-Parallelismus führt zu unnötigen Wartezeiten, insbesondere in kleinen Cluster-Konfigurationen. Tensor-Parallelismus verteilt die Berechnungen einer Schicht auf beide GPUs, wodurch sich die Auslastung bei 2 Knoten verbessert.

Beispiele für Modelle für 2 Spark-Systeme

Pipeline-Parallelismus – wann ist er sinnvoll?

Beim Pipeline-Parallelismus werden verschiedene Schichten auf die einzelnen Spark-Instanzen verteilt. Die Konfiguration ist dabei einfacher, doch bei 2 Knoten ist der Effizienzgewinn geringer, da die zweite Spark-Instanz untätig bleibt, während die erste die frühen Schichten jedes Tokens verarbeitet. Setzen Sie den Pipeline-Parallelismus nur dann ein, wenn:
  • Die Modellarchitektur Tensor-Parallelismus nicht unterstützt.
  • Sie mehr als 2 Spark-Instanzen miteinander verketten und den Kommunikations-Überhead pro Verbindung minimieren möchten.

Netzwerkvoraussetzungen zwischen den einzelnen Spark-Instanzen

Der QSFP-Connector wurde speziell für diese Deployment-Konfiguration entwickelt; dennoch spielt der Netzwerkpfad eine entscheidende Rolle für die Gesamtleistung.
Verwenden Sie keinen herkömmlichen Ethernet-Switch zwischen zwei Sparks für Tensor-Parallelismus. Ein 10-GbE- oder sogar 100-GbE-Switch erhöht die Latenz und verlangsamt die Dekodierungsphase erheblich. Die direkte QSFP-Verbindung mit 200 Gbit/s ist die unterstützte und getestete Konfiguration.

Kosten-Nutzen-Analyse

Zu welchem Zeitpunkt sich der Einsatz eines zweiten Spark auszahlt

  • Sie benötigen ein verteiltes Modell samt berechnetem Gewicht und einem KV-Cache-Plan. Beispielsweise erfordert DeepSeek-V4-Flash-0731 für die Deployment-Phase 2 Knoten und startet als von der Community geprüfte Konfiguration.
  • Sie stellen einem Team ein Modell bereit, dessen verteilte Laufzeitumgebung den Durchsatz oder die Konkurrenzfähigkeit so stark erhöht, dass sich der Einsatz einer zweiten Einheit lohnt.
  • Sie führen latenzempfindliche Aufgaben mit 120B-Modellen aus. Der zusätzliche KV-Cache-Speicherplatz durch zwei Sparks ermöglicht längere Kontexte oder mehr Nutzer, ohne dass der Speicher begrenzend wirkt.

In welchen Fällen das nicht zutrifft

  • Your model is ≤70B and your team is small. One Spark at 47-50 tok/s on a 35B MoE model is already faster than most people type. A second Spark adds cost and complexity for no user-visible improvement.
  • Sie können MoE-Modelle nutzen, die bereits passend dimensioniert sind. GLM-4.5-Air, Qwen3.5-122B sowie Nemotron-3-Super-120B lassen sich alle auf einem einzigen Spark-Cluster unter NVFP4 betreiben. Eine Aufteilung auf zwei Knoten erzeugt zusätzlichen Kommunikationsaufwand, wodurch sich die Vorteile der Parallelisierung möglicherweise nicht vollständig ausschöpfen lassen.

Richten Sie einen 2-Spark-Cluster ein.

1

Verbinden und überprüfen Sie die QSFP-Verbindung.

Befolgen Sie die oben genannten Schritte zur 200Gb/s-Verbindungskonfiguration. Stellen Sie sicher, dass die Verbindungsgeschwindigkeit 200Gb/s beträgt und ein bidirektionaler Ping zwischen beiden Spark-Knoten erfolgreich ist.
2

Installieren Sie vLLM auf beiden Spark-Knoten.

Auf beiden Knoten muss vLLM identisch installiert sein. Folgen Sie dazu der Anleitung vLLM auf DGX Spark auf jeder Einheit.
3

Installieren Sie Ray auf beiden Spark-Knoten.

Zur verteilten Koordination nutzt vLLM Ray.
Starten Sie den Ray-Head-Node auf Spark A.
Verbinden Sie Spark B mit dem Ray-Cluster.
Prüfen Sie, ob beide Knoten im Cluster erkannt werden.
4

Setzen Sie die NCCL-Umgebungsvariablen auf beiden Spark-Knoten.

5

Starten Sie vLLM im verteilten Modus auf Spark A.

vLLM verteilt die Modell-Teilstücke automatisch auf beide Spark-Instanzen.
6

Überprüfen Sie die korrekte Funktionsweise des verteilten Betriebs.

Testen Sie den Endpunkt von einer beliebigen Spark-Instanz aus.

Betreiben Sie beide Spark-Instanzen über Tokios.

Sie können mehrere Sparks hinter einem einzigen Tokios-Endpunkt zusammenfassen. Installieren Sie den Connector auf jedem Spark, registrieren Sie diese jeweils als separate Deployments und nutzen Sie Model-Routing, um den Datenverkehr zu steuern. Bei einer Tensor-Parallel-Konfiguration mit 2 Spark-Instanzen, bei der vLLM auf Spark A läuft und intern mit Spark B kommuniziert, genügt die Installation des Connectors lediglich auf Spark A – der /v1-Endpunkt von vLLM repräsentiert bereits das gesamte Cluster.
Registrieren Sie die verteilte Deployment-Konfiguration im Tokios-Dashboard; anschließend erreichen Clients beide Spark-Instanzen über https://api.tokios.com, ohne die zugrundeliegende Topologie kennen zu müssen.

vLLM auf DGX Spark.

Installations- und Startbefehle für eine eingleisige vLLM-Installation.

Kompatibilität der Modelle.

Prüfen Sie, welche Modelle auf den 1- bzw. 2-Spark-Instanzen verwendet werden können.

Speichereinstellungen optimieren

Berechnungen zum KV-Cache sowie Einstellparameter für beide Konfigurationen

Anwendungsbeispiel für DGX Spark

Vollständige Einrichtung des Tokios-Connector für DGX Spark