Ohne Kategorie

Zwei RTX 3090, ein Gehäuse, und das Upgrade, das ich fast umsonst gekauft hätte

Ich hatte zwei RTX 3090 und die Rechenleistung von ungefähr einer. Das hier ist der Umbau, der beide Karten nativ an PCIe in ein Gehäuse gebracht hat — und die Messung drei Wochen später, die zeigt, warum das naheliegende nächste Upgrade vermutlich nicht das ist, auf das man tippt.

Der Ausgangspunkt

Der alte Aufbau waren zwei Maschinen, die so taten, als wären sie eine. Eine Windows-Workstation trug die erste RTX 3090. Ein kleiner NUC trug die zweite, angebunden über Thunderbolt in einem externen GPU-Gehäuse. Auf dem Papier: 48 GB VRAM. In der Praxis: eine störanfällige Strecke, ein Kaltstartfehler, der mitten in Sitzungen auftauchte — oft genug, dass er ein eigenes Umgehungsskript bekam —, und eine zweite Karte, die den Großteil ihres Lebens über das Netzwerk angesprochen wurde.

Die Workstation selbst war noch eine gute Basis: ein X299-Board mit vielen PCIe-Lanes, also genau das, was eine Doppel-GPU-Kiste braucht und was Mainstream-Desktop-Boards nicht haben. Der Plan war deshalb nicht „neue Maschine kaufen“, sondern: die gute Plattform nehmen, beide Karten hineinsetzen, und aus dem Ganzen statt eines Windows-Rechners einen Hypervisor-Host machen.

Eine G.SKILL Trident Z RGB DDR4 Verpackung neben einer CPU in ihrer Plastikschale
Raus mit dem Alten: die CPU und der Speicher, die aus der Workstation ausgebaut wurden.

Der Umbau

Neue CPU in den LGA2066-Sockel — ein Intel Core i9-10920X mit zwölf Kernen, was 2026 unspektakulär und für diese Aufgabe völlig ausreichend ist. Ein GPU-Host verbraucht sein CPU-Budget für Scheduling, Tokenisierung und Ein-/Ausgabe, nicht für das Modell selbst.

Ein Intel Core i9-10920X im LGA2066-Sockel
Die i9-10920X im Sockel. Zwölf Kerne reichen reichlich, wenn die GPUs die Arbeit machen.

Darauf ein Doppelturm-Luftkühler. Kein Wasserkreislauf: diese Maschine soll monatelang unbeaufsichtigt laufen, und der Ausfallmodus einer Pumpe ist schlimmer als der eines Lüfters.

Ein grosser Doppelturm-CPU-Kuehler wird auf ein Mainboard geschraubt
Kühlermontage. Das Board ist eine X299-Plattform — ausgewählt wegen der PCIe-Lanes, nicht wegen der Optik.

Der unglamouröseste und überfälligste Teil der Arbeit:

Ein voellig verstaubter 140-mm-Gehaeuseluefter
So sah jeder Gehäuselüfter aus. Wer sich fragt, warum sein Rechner drosselt, fängt hier an.

Der Speicher wanderte auf eine passive Trägerkarte, die einen x16-Steckplatz in vier M.2-Plätze verwandelt — vier NVMe unterschiedlicher Größe, aus denen später das ZFS-Layout für VM-Abbilder, Modelldateien und Sicherungen wurde.

Eine PCIe-Traegerkarte mit vier Samsung-NVMe-SSDs, Etikettenbereich bewusst weichgezeichnet
Vier NVMe auf einer x16-Trägerkarte. Der Etikettenbereich ist mit Absicht unkenntlich — die Begründung steht am Ende.

Dann die Verkabelung, die bei zwei Dreislot-Karten plus Trägerkarte den größten Teil der eigentlichen Arbeit ausmacht.

Die Rueckseite eines PC-Gehaeuses mit verlegten Kabeln und einer 2,5-Zoll-SSD
Die Rückseite. Niemand fotografiert die, weshalb niemand sie einplant.
Gruen beleuchtetes PC-Innenleben mit einer EVGA GeForce RTX 3090 und einem be quiet! Dark Power Pro Netzteil
Erste Karte drin, Maschine lebt.

Und zwei Tage später der Teil, um den es die ganze Zeit ging:

Zwei GeForce-RTX-Grafikkarten in einem Gehaeuse, eine blau und eine gruen beleuchtet
Beide 3090 nativ an PCIe, in einem Gehäuse. Sie stammen von zwei verschiedenen Herstellern — dieses Detail kommt später zurück.

Was sich wirklich verbessert hat

Die ehrliche Liste ist kürzer, als die Baubilder vermuten lassen, aber jeder Punkt darauf ist echt:

  • Die Thunderbolt-Strecke ist weg. Sie war die mit Abstand störanfälligste Komponente des alten Aufbaus, und eine Fehlerquelle zu entfernen ist mehr wert als die meiste Optimierungsarbeit.
  • Warme Modellwechsel gingen von Minuten auf Sekunden. Nicht wegen des Umbaus selbst — sondern weil der Host jetzt genug RAM hat, dass der Inferenzserver das speicherabgebildete Laden nicht mehr abschaltet. Auf der alten Kiste machte ein speicherknapper Container aus jedem Modellwechsel still ein physisches Lesen von mehreren Gigabyte. Hunderte Male pro Tag.
  • Eine Maschine statt zwei. Beide Karten für einen Hypervisor sichtbar, eine Stelle zum Nachsehen, wenn etwas klemmt.
Blick von oben in die fertige Maschine mit beiden Grafikkarten, Kuehler und Laufwerkskaefig
Die fertige Maschine, drei Wochen später.

Der unbequeme Teil: 48 GB sind nicht doppelte Geschwindigkeit

Das ist der Befund, von dem ich nicht erwartet hatte, ihn aufschreiben zu müssen.

Wenn ein Modell für eine Karte zu groß ist, teilt der übliche Inferenz-Stack es nach Schichten auf: Schicht 0 bis n auf Karte 0, der Rest auf Karte 1. Ein Token geht in Karte 0 hinein, arbeitet sich nach oben, wechselt auf Karte 1, arbeitet sich wieder nach oben und kommt heraus. Dieser Wechsel passiert einmal pro Token und bewegt ein paar Megabyte — nichts, was eine PCIe-Verbindung fordert.

Aber sieh hin, was die Karten dabei tun. Karte 1 wartet, während Karte 0 rechnet. Dann wartet Karte 0, während Karte 1 rechnet. Zu jedem Zeitpunkt wartet eine deiner beiden GPUs. Die Schichtaufteilung kauft dir Speicher. Sie kauft dir keinen Durchsatz.

Das rückt das naheliegende Upgrade zurecht. Der Reflex, sobald zwei Karten in einem Gehäuse stecken, ist eine Brücke dazwischen — und für diese Karten gibt es eine. Aber eine schnellere Verbindung zwischen zwei Bauteilen, die kaum miteinander reden, kann nichts bringen. Der Engpass ist nicht die Leitung, sondern dass die Hälfte des Siliziums untätig ist.

Es gibt einen Modus, der beide Karten gleichzeitig nutzt: die Tensoren selbst aufteilen statt der Schichten, sodass beide GPUs an jeder Schicht gemeinsam arbeiten. Dieser Modus erzeugt sehr wohl ständigen Verkehr zwischen den Karten — und genau dort würde eine schnelle Brücke zählen. Damit wird aus „soll ich eine Brücke kaufen?“ statt einer Meinung eine Messung:

  • Tensor-Aufteilung ist über die bestehende Verbindung schneller → geschenkte Leistung, kein Kauf nötig.
  • Tensor-Aufteilung ist langsamer → der Interconnect ist nachweislich die Grenze, und eine Brücke würde sich bezahlt machen.
  • Kein nennenswerter Unterschied → eine Brücke wäre für Inferenz rausgeworfenes Geld, und nur Training würde sie rechtfertigen.

Diese Messung ist angesetzt. Ich schreibe die Frage auf, bevor ich die Antwort kenne, denn eine Vorhersage, die man hinterher notiert, ist keine.

Eine praktische Tücke, die das Baubild schon andeutet: meine beiden Karten sind von verschiedenen Herstellern. Brücken gibt es nur in festen Slot-Abständen, und unterschiedlich dicke Kühler sind ein häufiger Grund, warum eine Brücke, die passen sollte, nicht passt. Vorher messen.

Wie ein Homelab wirklich aussieht

Ein grosser PC-Tower auf Fliesenboden neben einer Kommode, davor ein Standventilator, daneben eine USV
Die Kühlstrategie, vollständig.

So sieht es tatsächlich aus. Ein Tower auf Fliesen, ein Standventilator aus dem Haushalt auf den Ansaugbereich gerichtet, weil zwei 3090 unter Dauerlast mehr Wärme abgeben, als der Raum von allein loswird, und eine USV auf dem Boden, weil die Alternative ist, herauszufinden, was ein unsauberes Herunterfahren mit einem ZFS-Pool anstellt.

Ich zeige dieses Bild mit Absicht. Umbauberichte enden gern beim Hochglanzfoto, und das verzerrt still, wie es ist, Hardware zu Hause zu betreiben. Der Ventilator ist kein Witz — er ist tragend.

Was ich meinem früheren Ich sagen würde

  • Kauf die Plattform wegen der Lanes. Die CPU-Generation spielt für einen GPU-Host kaum eine Rolle. Die Zahl der PCIe-Lanes entscheidet, ob eine zweite Karte und eine NVMe-Trägerkarte nebeneinander passen.
  • Eine störanfällige Strecke zu entfernen schlägt jedes Leistungsplus. Das Thunderbolt-Gehäuse funktionierte — bis es das nicht tat, und zwar immer im ungünstigsten Moment.
  • Gib dem Host genug RAM, obwohl das Modell auf der GPU liegt. Speicherabgebildetes Laden ist der Unterschied zwischen zwei Sekunden und zwei Minuten pro Modellwechsel — und die Software schaltet es still ab, wenn der Speicher knapp wird.
  • Zwei Karten sind ein Kapazitäts-, kein Geschwindigkeitsupgrade — es sei denn, man ändert bewusst, wie das Modell aufgeteilt wird, und dann hat man eine ganz neue Variable zu messen.
  • Reinige die Lüfter. Im Ernst.

Zum weichgezeichneten Foto

Beim Bild der SSD-Trägerkarte ist der Etikettenbereich unkenntlich gemacht. Auf diesen Etiketten steht die PSID jeder Platte — der Code, mit dem jemand mit physischem Zugang eine selbstverschlüsselnde SSD kryptografisch zurücksetzen kann. Er steht genau deshalb auf dem Aufkleber, weil er ein Weg außerhalb des Systems sein soll, und er war im Original als Text und als scannbarer Code lesbar.

Beim Prüfen fand ich etwas Schlimmeres: jedes Foto in diesem Artikel trug GPS-Koordinaten in seinen EXIF-Daten. Ausnahmslos jedes. Handykameras verorten standardmäßig, und ein Baufoto, das zu Hause entsteht, ist ein Foto davon, wo man wohnt. Alle zwölf Bilder wurden vor dem Hochladen von Metadaten befreit — und ich habe die Bereinigung gegen ein unangetastetes Original geprüft, denn eine Kontrolle, die immer „sauber“ sagt, ist keine.

Wer Hardwarefotos veröffentlicht, sollte beides tun: EXIF entfernen, und nachsehen, was auf den eigenen Bauteilen steht, bevor das Internet es tut.