11. November 2026 · VRAMfarm-Team
CUDA-Treiber passt nicht: PyTorch und ComfyUI auf einer gemieteten GPU reparieren
Sie starten einen Server, installieren Ihr Projekt, und die erste Prüfung liefert torch.cuda.is_available() False. Oder ComfyUI bricht mit „The NVIDIA driver on your system is too old“ ab. Auf einer gemieteten Maschine sind mehrere Versionsnummern im Spiel, und entscheidend ist meist der PyTorch-Build, den Sie ändern können. Der Treiber gehört dem Host. Die Lösung ist deshalb fast immer eine von zwei Möglichkeiten: das PyTorch-Wheel installieren, das zum Treiber passt, oder eine Maschine wählen, deren Treiber zum benötigten Build passt. Beides dauert ein paar Minuten, sobald Sie wissen, welche Nummer was bedeutet.
Treiber, CUDA Toolkit und PyTorch-Build: drei verschiedene Nummern
| Was | Wo es liegt | Wie Sie es sehen | Auf einem gemieteten Server änderbar? |
|---|---|---|---|
| NVIDIA-Treiber, z. B. 570.172 | Auf dem Host; Ihr Container nutzt ihn | nvidia-smi, „Driver Version“ |
Nein |
| „CUDA Version“ in nvidia-smi, z. B. 12.8 | Die neueste CUDA-Version, die dieser Treiber unterstützt | nvidia-smi, oben rechts |
Nein, sie folgt dem Treiber |
| CUDA Toolkit (nvcc) | Im Container, optional | nvcc --version |
Ja, aber nur zum Kompilieren nötig |
| CUDA im PyTorch-Wheel: cu126, cu128, cu130 | In den pip-Paketen enthalten | torch.version.cuda |
Ja, mit pip |
Eine Regel deckt die meisten Fälle ab: Die CUDA-Version Ihres PyTorch-Builds darf nicht neuer sein als die „CUDA Version“, die nvidia-smi anzeigt. Treiber sind abwärtskompatibel. Ein Treiber, der CUDA 12.8 unterstützt, führt Builds mit cu118, cu124, cu126 und cu128 aus. Ein cu130-Build läuft darauf nicht, ein cu129-Build vielleicht (siehe den Hinweis unter der Tabelle).
Mindestversion des Linux-Treibers für jeden CUDA-Build:
| CUDA-Build | Benötigter Treiber |
|---|---|
| 11.8 | 520 oder neuer |
| 12.4 | 550 oder neuer |
| 12.6 | 560 oder neuer |
| 12.8 | 570 oder neuer |
| 12.9 | 575 oder neuer |
| 13.0 | 580 oder neuer |
Programme für CUDA 12.x laufen manchmal auch auf einem älteren Treiber der 12er-Reihe (525 oder neuer), über das, was NVIDIA Minor-Version-Kompatibilität nennt. Manche Funktionen brauchen aber den vollständigen Treiber, und die Fehler tauchen an seltsamen Stellen auf. Planen Sie nicht damit.
Die Maschine in unter einer Minute prüfen
Öffnen Sie das Jupyter-Terminal oder verbinden Sie sich per SSH (so richten Sie einen SSH-Schlüssel ein) und führen Sie aus:
nvidia-smi
nvcc --version
python -c "import torch; print(torch.__version__, torch.version.cuda, torch.cuda.is_available()); print(torch.cuda.get_device_name(0), torch.cuda.get_device_capability(0)); print(torch.cuda.get_arch_list())"
So lesen Sie das Ergebnis:
- nvidia-smi nennt den Treiber und die neueste CUDA-Version, die er unterstützt. Schlägt nvidia-smi selbst fehl, liegt das Problem beim Host, nicht in Ihrer Software (siehe unten).
- nvcc meldet womöglich „command not found“. Für PyTorch ist das egal, es braucht nvcc nicht.
- Die Python-Zeile sollte etwa
2.8.0+cu128 12.8 Trueausgeben, danach den Namen der Karte und ihre Compute Capability, etwa(12, 0)bei einer RTX 5090. Die Architekturliste muss Ihre Karte enthalten:sm_80für die A100,sm_86für die RTX-30-Serie und RTX A4000–A6000,sm_89für die RTX-40-Serie, L4, L40 und L40S,sm_90für H100 und H200,sm_120für die RTX-50-Serie und die RTX PRO 6000,sm_100für die B200.
Gibt torch.version.cuda None aus, haben Sie einen reinen CPU-Build. ComfyUI gibt dieselben Angaben beim Start aus: Suchen Sie im Log nach der Zeile „pytorch version“ mit ihrem +cu-Suffix und nach der Zeile „Device: cuda:0“.
Was jeder Fehler bedeutet und wie Sie ihn beheben
“RuntimeError: No CUDA GPUs are available”
Zeigt sich auch dadurch, dass torch.cuda.is_available() False liefert. Gehen Sie die Ursachen der Reihe nach durch:
echo $CUDA_VISIBLE_DEVICESgibt einen leeren Wert oder einen falschen Index aus. Entfernen Sie die Variable oder setzen Sie sie auf0.torch.version.cudaistNone: ein CPU-Build. Installieren Sie neu wie im nächsten Abschnitt gezeigt.- Der PyTorch-Build ist neuer, als der Treiber unterstützt, und die Treiberprüfung ist stillschweigend gescheitert. Vergleichen Sie die beiden Nummern.
- Auch
nvidia-smischlägt fehl: Der Container hat keinen Zugriff auf die GPU. Das ist ein Problem des Hosts.
“The NVIDIA driver on your system is too old (found version 12020)”
Die Zahl ist die neueste CUDA-Version, die der Treiber unterstützt, ohne Punkte geschrieben: 12020 ist 12.2, 12080 ist 12.8. Ihr PyTorch-Build braucht eine neuere. Installieren Sie entweder einen älteren Build, der passt, was bei einem 12.2-Treiber eine alte PyTorch-Version bedeutet, oder wechseln Sie auf eine Maschine mit neuerem Treiber. Bei aktuellen Projekten geht die zweite Variante meist schneller.
“AssertionError: Torch not compiled with CUDA enabled”
Es ist ein reiner CPU-Build installiert. Unter Linux kommt er typischerweise aus dem CPU-Index, von einer +cpu-Version, die in einer requirements-Datei festgeschrieben ist, oder von einem Paket, das torch als eigene Abhängigkeit neu installiert hat. Custom Nodes in ComfyUI tun das öfter, als man denkt.
“CUDA error: no kernel image is available for execution on the device”
Davor steht meist eine Warnung wie „NVIDIA GeForce RTX 5090 with CUDA capability sm_120 is not compatible with the current PyTorch installation“. Der Build enthält keinen Code für die Architektur Ihrer Karte. Bei Blackwell-Karten heißt das: PyTorch älter als 2.7 oder ein Build älter als cu128. Derselbe Fehler kommt von Erweiterungen, die ohne Ihre Architektur kompiliert wurden: xformers, flash-attn, ältere bitsandbytes oder Attention-Kernels, die auf eine alte Version festgeschrieben sind.
“nvidia-container-cli: requirement error: unsatisfied condition: cuda>=12.8”
Dieser Fehler erscheint bei Ihrem eigenen Docker-Image. Die CUDA-Basis-Images von NVIDIA geben an, welche CUDA-Version sie brauchen, und der Container startet nicht auf einer Maschine mit älterem Treiber. Bauen Sie auf einem Basis-Image mit niedrigerer CUDA-Version neu oder wählen Sie eine Maschine mit neuerem Treiber.
“Failed to initialize NVML: Driver/library version mismatch”
Scheitert nvidia-smi mit dieser Meldung oder mit „couldn’t communicate with the NVIDIA driver“, ist der Treiber des Hosts defekt oder wurde unter dem Container geändert. Von innen können Sie das nicht beheben. Speichern Sie /workspace und stoppen Sie den Server (die Abrechnung endet, sobald er gestoppt ist), starten Sie einen anderen und sagen Sie dem Support, welche Maschine es war.
“ImportError: libcudnn.so.9: cannot open shared object file”
Zwei Pakete erwarten unterschiedliche CUDA-Bibliotheken, etwa PyTorch für CUDA 12 und ein ONNX-Runtime- oder TensorFlow-Build für eine andere Version. Führen Sie pip check aus, halten Sie alles auf einer CUDA-Generation, und im Zweifel beginnen Sie mit einer frischen virtuellen Umgebung.
Den passenden PyTorch-Build installieren
- Lesen Sie die „CUDA Version“ in nvidia-smi ab.
- Wählen Sie den neuesten PyTorch-Build, der nicht neuer ist: 12.8 → cu128; 12.6 → cu126; 13.0 → cu130 oder cu128. Der Konfigurator auf pytorch.org listet die Builds, die die aktuelle Version anbietet.
- Installieren Sie ihn in einer virtuellen Umgebung, mit torch, torchvision und torchaudio zusammen aus demselben Index, damit die Versionen zueinander passen:
python -m venv /workspace/venv
source /workspace/venv/bin/activate
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
Liegt die Umgebung in /workspace, landet sie beim Stoppen im gespeicherten Ordner. Denken Sie daran, dass die nächste Maschine dann ebenfalls einen Treiber braucht, der für diesen Build neu genug ist.
- Verhindern Sie, dass andere Pakete ihn ersetzen. Schreiben Sie die installierte Version in eine Constraints-Datei und lassen Sie pip sie beachten:
pip freeze | grep -E "^torch(vision|audio)?==" > /workspace/constraints.txt
export PIP_CONSTRAINT=/workspace/constraints.txt
- Installieren Sie Erweiterungen für denselben Build. xformers veröffentlicht Wheels im selben PyTorch-Index; ein einfaches
pip install xformerskann ein anderes torch nachziehen. Für flash-attn gibt es vorgebaute Wheels für gängige Kombinationen aus torch und CUDA. Selbst kompilieren braucht das CUDA Toolkit mit derselben Hauptversion und kann je nach CPU eine Stunde oder länger abgerechnete Zeit kosten.
Für ComfyUI: Führen Sie nach der Installation von Custom Nodes über den Manager die Python-Prüfung erneut aus. Hat ein Node torch ausgetauscht, installieren Sie es mit der Zeile oben neu und führen dann im ComfyUI-Ordner pip install -r requirements.txt aus. Die ComfyUI-Vorlage bringt PyTorch auf CUDA 12.8 mit.
RTX-50-Serie und andere Blackwell-Karten brauchen CUDA 12.8 oder neuer
Die RTX 5090, RTX 5080, RTX 5070 Ti und RTX PRO 6000 nutzen die Blackwell-Architektur sm_120; die B200 nutzt sm_100. Sie brauchen alle drei Punkte:
- Treiber 570 oder neuer;
- einen PyTorch-Build für CUDA 12.8 oder höher (cu128, cu129, cu130);
- PyTorch 2.7 oder neuer, die erste stabile Version mit Blackwell-Unterstützung.
Projekte, die auf einen alten Stack festgelegt sind, etwa torch 2.1 mit cu118 in einem älteren Trainings-Repo, laufen auf Blackwell überhaupt nicht. Ampere- und Ada-Karten führen diese Builds weiterhin aus; für ein altes Projekt ist eine RTX 4090 oder RTX 3090 deshalb die praktische Wahl. Die meisten verbreiteten Erweiterungen veröffentlichen inzwischen Wheels mit sm_120, ältere festgeschriebene Versionen davon nicht. Scheitert eine Erweiterung auf einer RTX 5090, prüfen Sie zuerst, ob ihre Version aktuell ist, bevor Sie die Karte verdächtigen.
Den Treiber können Sie nicht aktualisieren, also wählen Sie ihn vor dem Start
Der Treiber ist Teil des Betriebssystems des Hosts. Ihr Server ist ein Container, dem die Bibliotheken des Treibers von außen durchgereicht werden. Ein Treiberpaket darin zu installieren ändert nichts Sinnvolles und kann diese Bibliotheken beschädigen. Das Forward-Compatibility-Paket von NVIDIA hilft nur bei Rechenzentrumskarten und ist keine allgemeine Lösung.
VRAMfarm zeigt Treiber und CUDA-Version jeder Maschine vor dem Start an, im Startassistenten im Dashboard und im Server-Katalog, wo Sie nach Mindest-CUDA-Version filtern können. Wählen Sie das genauso wie den Speicher:
- ein Stack auf cu128 → CUDA 12.8 oder neuer, Treiber 570 oder neuer;
- cu130 → CUDA 13.0 oder neuer, Treiber 580 oder neuer;
- ein altes Projekt auf cu118 → jeder aktuelle Treiber, aber keine Blackwell-Karte.
Bauen Sie Ihr eigenes Docker-Image auf der niedrigsten CUDA-Version, die Ihr Stack wirklich braucht, nicht auf der neuesten. Ein Image auf CUDA 12.6 startet auf mehr Maschinen als eines auf 13.0. Bleibt nach diesen Prüfungen ein Versionsfehler, schreiben Sie dem Support mit dem Fehlertext und der Ausgabe der drei Befehle oben; das reicht meist, um die Ursache zu finden. Weitere häufige Fragen zu Servern beantworten die FAQ.