Fortgeschritten 22 minLeistung

Multi-GPU-LLM mit llama.cpp: tensor-split 2× RTX 3090

Eine RTX 4090 mit 24 GB reicht nicht aus, um die besten Modelle des Jahres 2026 in voller Q8-Qualität mit einem Kontext von 256k Tokens zu betreiben. Zwei gebrauchte 3090-Karten (48 GB) schaffen das für weniger Geld. Dafür muss man wissen, wie man das Modell auf die Karten verteilt, zwischen Layer-Splitting und Tensorparallelität wählt und die Hardware für einen dauerhaft stabilen Betrieb konfiguriert. Dieser Leitfaden behandelt die drei gängigen Tools (llama.cpp, Ollama, vLLM) und die Fallstricke.

Wählen Sie einen Rechner? Unsere Empfehlungen nach Budget →

Von Mohamed Meguedmi·Aktualisierung 2026-08-27·Unter Windows, macOS und Linux getestet
Empfohlene Hardware

Gutes Preis-Leistungs-Verhältnis für lokale KI: ein GMKtec EVO-X2 64 GB / 1 TB (Ryzen AI Max+ 395).

Ein Mini-PC ist ein vollständiges System: Prüfen Sie den verfügbaren Speicher und die Kompatibilität der Engine. Er ersetzt nicht macOS/MLX oder CUDA.

Warum diese Wahl? Unsere vollständige Übersicht zu GMKtec EVO-X2 64 GB / 1 TB (Ryzen AI Max+ 395) →

Alle Optionen nach Budget vergleichen, von 800 bis 3 500 € →

Kleines Budget: RTX 5060 · Große Modelle: RTX 5090 · Mac Studio.

Unterwegs: Welcher Laptop für lokale KI →

Affiliate-Links – mögliche Provision ohne Mehrkosten für Sie. Als Amazon-Partner erzielt QuelLLM eine Vergütung für qualifizierte Käufe.

#Warum Multi-GPU?

Modelle > VRAM einer einzigen Karte
Qwen3-Coder 30B-A3B in Q8 = 32 GB, und bei einem Kontext von 256k treibt der KV-Cache den Speicherbedarf weit darüber hinaus. Auf eine einzelne Consumer-GPU passt das nicht, außer auf eine RTX 5090 (32 GB) – und selbst dann bleibt kein Spielraum für einen großen Kontext.
Durchsatz für Teams
Zwei GPUs mit tensor parallel über vLLM können 2× mehr Benutzer parallel betreiben.
Redundanz
Wenn eine Karte ausfällt, arbeitet die andere mit eingeschränkter Leistung weiter (kleineres Modell).
Fine-tuning
LoRA-Fine-Tuning eines 24B-Modells benötigt insgesamt 30 GB für Modell, Optimierer und Gradienten. Zwei GPUs mit jeweils 24 GB bieten reichlich Spielraum.

#Zwei Strategien: Split Layer vs. Tensor Parallel

Aufteilung nach Schichten (layer parallelism)
Schichten 1–40 auf GPU 0, 41–80 auf GPU 1. Beim Übergang von einer Schicht zur nächsten wird ein Aktivierungsvektor kopiert. Die Latenz ist leicht erhöht. Unterstützt von llama.cpp und Ollama.
Tensor-Parallelismus
Jede Schicht wird in Teile zerlegt, die parallel auf die GPUs verteilt werden. Dafür ist eine schnelle Kommunikation zwischen den Karten erforderlich. Leistungsfähiger, aber komplex. Unterstützt von vLLM und ExLlamaV2.
i
Faustregel
Für die Nutzung durch eine einzelne Person und eine einfache Einrichtung: Aufteilung nach Schichten (llama.cpp/Ollama). Für Multi-User-Serving und hohen Durchsatz: Tensorparallelismus (vLLM).

#Hardware: Achten Sie auf Details

PCIe
Jede GPU muss mindestens über PCIe x8 angebunden sein. Ein Mainboard mit 2× PCIe 5.0 x16 mit direkter CPU-Anbindung, nicht x16 + x4 über den Chipsatz.
Stromversorgung
2× 3090 = 700 W allein für die GPUs. Dazu kommen CPU, RAM und SSD: Planen Sie ein Netzteil mit 1200–1600 W ein (80+ Gold oder Platinum).
Abstand
Die RTX 3090/4090 haben 3 Slots. Auf einer Motherboard mit 7 Slots berühren sich die beiden Karten. Risers PCIe oder Wasserkühlung, um die Kontrolle zu behalten.
Belüftung
Mit 2 Grafikkarten unter Last erreicht ein schlecht belüftetes Gehäuse 85–90 °C. Thermal Throttling = −30 % Leistung.

#1. Multi-GPU mit llama.cpp

Aufteilung nach Schichten
./build/bin/llama-cli \
  -m ./models/qwen3-coder-30b-a3b-q8_0.gguf \
  -ngl 99 \
  --split-mode layer \
  --tensor-split 0.5,0.5 \
  -p "..."

--tensor-split gibt den Anteil der Schichten pro GPU an. Für 2 identische Karten: 0.5,0.5. Für eine 3090 24 GB + eine 4070 12 GB: 0.67,0.33 (die 3090 übernimmt zwei Drittel).

Row split (manchmal schneller)
./build/bin/llama-cli \
  -m ./models/qwen3-coder-30b-a3b-q8_0.gguf \
  -ngl 99 \
  --split-mode row \
  ...

#2. Multi-GPU mit Ollama

Ollama erkennt automatisch mehrere GPUs und verteilt die Last auf alle verfügbaren. Es gibt nur wenige zugängliche Einstellungen, aber es funktioniert ohne zusätzliche Einrichtung.

Nützliche Variablen
# Limiter à certains GPU
export CUDA_VISIBLE_DEVICES=0,1

# Ou pour AMD
export ROCR_VISIBLE_DEVICES=0,1

systemctl restart ollama
Die Verteilung prüfen
ollama ps
# Doit afficher le modèle réparti : PROCESSOR = 100% GPU,
# réparti sur les deux cartes vu par nvidia-smi

#3. Tensor-Parallelismus mit vLLM

vLLM mit 2 GPUs starten
python -m vllm.entrypoints.openai.api_server \
  --model Qwen/Qwen3-Coder-30B-A3B-Instruct \
  --tensor-parallel-size 2 \
  --quantization awq \
  --dtype auto \
  --port 8000

vLLM verteilt jede Schicht parallel auf die 2 GPUs. Der aggregierte Durchsatz ist im Vergleich zu 1 GPU nahezu doppelt so hoch, bei einem Kommunikationsaufwand von etwa 10 %.

→
Identische Karten für vLLM
Tensor-Parallelismus funktioniert optimal mit identischen Karten. 2× RTX 3090 oder 2× 4090: OK. Eine 3090 + eine 4070: vLLM nimmt die langsamere Karte als Maßstab, die schnellere wird nicht voll ausgelastet.

NVLink ermöglicht eine GPU-zu-GPU-Verbindung mit hoher Bandbreite (112 GB/s auf der 3090). Einige RTX 3090 verfügen über einen NVLink-Anschluss; die 4090 haben ihn nicht mehr; die RTX-Quadro- und A-Series-Modelle haben ihn alle.

Auswirkungen bei llama.cpp split-layer
Sehr gering. Zwischen den Schichten werden nur kleine Datenmengen übertragen.
Auswirkung bei Tensorparallelismus mit vLLM
Deutlicherer Effekt: +5 bis +15 % Durchsatz bei aktiviertem NVLink.
Auswirkungen auf das Fine-Tuning
Großer Einfluss: Der Austausch von Gradienten ist sehr intensiv. NVLink wird empfohlen, wenn Sie ein Fine-Tuning mit mehreren GPUs planen.

#Erwartete Leistung

Auf 2× RTX 3090, Qwen3-Coder 30B-A3B Q8_0, llama.cpp mit split layer:

Einzelner Prompt
~55 tok/s. Auf eine einzelne 3090 würde das Modell in Q8 (32 GB) nicht passen. Die Geschwindigkeit bleibt hoch: Es handelt sich um ein MoE mit 3 Milliarden aktiven Parametern.
Latenz des ersten Tokens
~200 ms (im Vergleich zu ~80 ms bei einem kleinen Single-GPU-Modell).
Dieselben Karten mit Tensorparallelität in vLLM
~65 tok/s bei einer einzelnen Anfrage, aber ~400 tok/s insgesamt bei 10 parallelen Anfragen.
!
PCIe-Flaschenhals
Wenn eine Ihrer Karten über PCIe x4 angebunden ist (zum Beispiel in einem sekundären, an den Chipsatz angebundenen Steckplatz), können Sie beim Layer-Splitting 40 % Leistung verlieren und bei Tensor-Parallelität noch mehr. Prüfen Sie dies mit nvidia-smi oder GPU-Z, bevor Sie die Ursache bei den übrigen Komponenten suchen.
Hat Ihnen dieser Guide geholfen?

Haben Sie Feedback, einen Fehler entdeckt oder möchten Sie etwas präzisieren? Geben Sie uns Bescheid – so wird der Guide für alle besser.