kosmos.ac Logo kosmos.ac
$ cat tesla-m10-llm-experiment.md

Eine Tesla M10 mit 32GB VRAM für lokale KI - geht das?

Mein Freund LukeNukem drückte mir eine alte NVIDIA Tesla M10 in die Finger, mit dem Auftrag: "Schau mal, was man damit anstellen kann - 32GB VRAM, da dürfte doch was mit AI gehen." Die Antwort, so viel vorweg, war absehbar – vier Maxwell-Chips aus der VDI-Ära werden keine Bäume ausreissen. Aber der Weg dorthin war interessant genug, um ihn festzuhalten.

Die Ausgangslage

Die M10 ist keine einzelne GPU, sondern vier separate GPUs mit je eigenem 8GB-VRAM auf einer Platine, ursprünglich für Grafik-Virtualisierung gebaut, nicht für Compute. Kein NVLink, keine Tensor Cores, Compute Capability 5.0. Schon auf dem Papier ein klarer Fall – trotzdem wollte ichs mal ausprobieren.

Erste Hürde: Der Treiber

Die letzte Treiberserie, die Maxwell überhaupt noch unterstützt, ist 580.x – und liefert überraschenderweise sogar noch CUDA-13-Kompatibilität. Da war selbst Anthropics Claude baff, hatte es in einer vorab Diskussion doch noch behauptet das ich wegen "maximal CUDA-11" schon am Start liegen bleiben würde. Die Installation auf CachyOS/AUR verlief unspektakulär, sobald klar war, dass man die proprietäre nvidia-580xx-dkms-Variante braucht, nicht nvidia-open (der unterstützt nur Turing und neuer).

Zweite Hürde: Docker und die cgroup-v2-Falle

Der eigentliche Zeitfresser. nvidia-smi funktionierte im Container tadellos, aber jeder tatsächliche CUDA-Init-Versuch scheiterte mit dem hilfreichen Fehlercode 999 ("unknown error"). Die Fehlersuche führte durch:

Der Fix: NVIDIA Container Runtime auf CDI-Modus umstellen, der Geräte über explizite Mounts statt über die problematische cgroup-Device-Whitelist injiziert. Danach lief alles sofort sauber.

Die Benchmarks

Mit Qwen2.5-Coder als Testmodell, über llama.cpp (für sm_50 kompiliert):

Setup Prompt-Verarbeitung Token-Generierung
7B, 1 Chip 12,8 Tok/s 6,1 Tok/s
7B, 4 Chips (Tensor-Split) 12,1 Tok/s 5,9 Tok/s
32B, 4 Chips (Tensor-Split) 2,9 Tok/s 1,5 Tok/s

Zwei Erkenntnisse daraus, die die Theorie schön bestätigen:

Mehr Chips machen ein kleines Modell nicht schneller. Ohne NVLink kommunizieren die vier Chips nur über den PCIe-Switch auf der Karte. Bei einem 7B-Modell, das locker auf einen einzelnen 8GB-Chip passt, zahlt man nur den Synchronisations-Overhead, ohne einen Geschwindigkeitsvorteil zu bekommen.

Große Modelle skalieren nicht linear zur Parameterzahl. Der Sprung von 7B auf 32B (Faktor ~4,6) drückte die Geschwindigkeit um mehr als das 4-fache – überproportional, weil beim größeren Modell deutlich mehr Daten zwischen den bandbreitenschwachen Chips hin- und herwandern müssen.

Der Praxistest – und das Ende

Mit dem 32B-Modell lokal am Laufen, folgte der eigentliche Realitätscheck: opencode von einem Dev-Host aus per OpenAI-kompatibler API andocken und ein kleines, klar abgegrenztes Projekt autonom durcharbeiten lassen.

Die Karte hat nicht durchgehalten. Nach wenigen Minuten sustained Last meldeten zwei der vier Chips schlicht "unknown error" – ein würdiger, wenn auch etwas trauriger Schlusspunkt für Hardware, die ursprünglich nie für diese Art von Dauerlast gebaut wurde.

Ehrlicherweise muss ich zugeben das die passiv gekühlte Karte mehr Airflow hätte brauchen können als ihr mein Test Setup bieten konnte, aber das hätte das Ergebnis nur verzögert, nicht verändert.

Auch für 7B ist die M10 kein guter Deal

Selbst dort, wo die M10 noch "brauchbar" performt, ist sie keine gute Empfehlung. Die 6,1 Tokens/Sekunde beim 7B-Modell auf einem einzelnen 8GB-Chip lassen sich mit praktisch jeder halbwegs aktuellen Consumer-Karte mindestens genauso gut, meist deutlich besser erreichen – bei geringerem Stromverbrauch, ohne Legacy-Treiber-Archäologie und ohne cgroup-Rätselraten. Die M10 rechtfertigt sich hier höchstens durch "ist bereits vorhanden", nicht durch tatsächliche Eignung. Ihr einziger potenzieller Vorteil – die Summe von 32GB VRAM über vier Chips – bringt wie gesehen nichts, sobald man ihn tatsächlich braucht.

Fazit

Die M10 kann ein 7B-Coding-Modell mit brauchbarer (nicht beeindruckender) Geschwindigkeit auf einem einzelnen Chip fahren – genug zum Experimentieren, zu klein für komplexere Aufgaben. Sie kann auch ein 32B-Modell laden und kurze Anfragen beantworten, aber weder schnell genug für interaktive Nutzung noch stabil genug für einen Agenten.

War das theoretisch vorhersehbar? Ja, ziemlich genau sogar. War es trotzdem besser als einfach nur die Datenblätter zu lesen? Auch ja.

Schlusswort: Lokale KI für "jedermann" bleibt ein Traum

Was mich an diesem Nachmittag am meisten nachdenklich gemacht hat, war nicht die M10 selbst, sondern der Blick auf das, was immer unerreichbarer wird. Der Mac Studio, lange als vergleichsweise erschwinglicher Weg zu viel Speicher für lokale Modelle gehandelt, verkauft aktuell gar keine 128GB-Konfiguration mehr – Apple hat sie im Frühjahr 2026 zusammen mit 256GB und 512GB ersatzlos gestrichen, die Preise für das, was übrig bleibt, wurden im Juni sogar noch angehoben. Ein MacBook Pro mit 128GB kostet inzwischen über 7.000€. Bei anderen Unified Memory Appliances wie DGX Spark oder Strix Halo sieht es nicht besser aus, der Refresh (Gorgon Halo) oder gar der Nachfolger Medusa Halo werden es aller Voraussicht nach nicht besser machen. Bei den GPUs sieht es ebenfalls nicht besser aus: Eine RTX 5090 mit 32GB soll laut UVP rund 2.000€ kosten, wird aber real für 3.500€ und mehr gehandelt, während die günstigeren Karten bei mickrigen 16GB VRAM feststecken - und die Hersteller sogar wieder kleinere VRAM Konfigurationen "neu" ins Portfolio aufnehmen.

Kurz: Die Hardware, die man bräuchte, wird nicht billiger und zugänglicher, sondern eher knapper und teurer – während die Modelle selbst immer mehr Speicher verlangen. Unsere ursprüngliche Hoffnung, dass "lokale, anbieterunabhängige KI für den eigenen Coding-Alltag" langsam in Reichweite normaler Enthusiasten rückt, hat sich mit diesem Test eher zerschlagen als bestätigt. Die M10 war der Versuch, mit vorhandener Hardware wenigstens einen Fuß in die Tür zu bekommen – und selbst das hat am Ende nur mit sehr viel Geduld und einem klaren Blick für die Grenzen des Machbaren funktioniert. Für "jedermann" bleibt das vorerst Zukunftsmusik.

Ausblick

Solange ich meine aktuelle Gaming GPU noch aktiv als solche nutze, ist das stärkste was ich für lokale AI dauerhaft erübrigen kann: meine "alte" RTX 2080 Ti mit 11GB VRAM. Die beste Anwendung die ich dafür zZt sehe, ist ein lokales Modell entscheiden zu lassen, welches Cloud Modell für die wirkliche Arbeit genutzt werden soll - zumindest potentiell lassen sich damit Tokens und somit Kosten sparen. Ob das für mich funktioniert? Das weiss ich noch nicht, aber vielleicht schreib' ich dazu ja bei Zeiten auch noch mal etwas.

$