Schritt für Schritt, Lc0 mit ONNX + TensorRT unter Windows
⸻
1. Voraussetzungen
• Eine aktuelle Lc0-Version (mind. v0.31.0 oder besser v0.32.0-rc1)
• ONNX-Modell deines gewünschten Netzes (z. B. BT4-1740.onnx)
• TensorRT Runtime für Windows (von NVIDIA)
• Aktuellen NVIDIA-Treiber (mind. v530, besser: v550+)
• CUDA muss nicht separat installiert werden
⸻
2. ONNX-Netz herunterladen
ONNX-Versionen der besten Netze auf z. B.:
https://training.lczero.org/networks/https://github.com/LeelaChessZero/lc0-training-dataOder direkt BT4-1740 als .onnx:
https://training.lczero.org/networks/best/ → „onnx“
Beispiel-Datei:
bt4-1740.onnx
Lege sie im Ordner ab, wo deine Lc0-Exe liegt.
⸻
3. Lc0 konfigurieren (lc0.json)
Bearbeite oder erstelle die Datei lc0.json im Lc0-Verzeichnis. Beispielkonfiguration für ONNX + TensorRT auf deiner RTX 4070:
{
"backend": "tensorrt",
"net": "bt4-1740.onnx",
"tensorrt.precision": "fp16",
"tensorrt.batchsize": 1,
"tensorrt.device": 0
}
Hinweise:
• "fp16" ist optimal für deine GPU
• "batchsize": 1 ist ideal für 5+0 und Einzel-Analyse
• "device": 0 steht für die erste CUDA-fähige GPU
Wenn du verschiedene Netze testen willst, kannst du auch "net": "networks\\bt4-1740.onnx" anpassen (Pfad beachten).
⸻
4. TensorRT installieren
Gehe auf:
https://developer.nvidia.com/tensorrt • Wähle TensorRT 8.6 oder höher für Windows
• Lade das passende .zip-Paket (nicht das .tar oder Docker-Zeug)
• Entpacke es z. B. nach C:\TensorRT
Dann:
• Füge den Pfad zur TensorRT-Bibliothek zur Windows-Umgebungsvariable PATH hinzu:
Beispiel:
C:\TensorRT\lib
(Je nach Version ggf. C:\TensorRT-8.6.X.X\lib)
Du kannst auch die DLLs direkt in den Lc0-Ordner kopieren:
nvinfer.dll
nvinfer_plugin.dll
nvonnxparser.dll
⸻
5. Testlauf starten
Öffne ein Terminal (z. B. PowerShell) und wechsle in den Lc0-Ordner:
.\lc0.exe
Lc0 sollte dann melden:
Using backend: tensorrt
Network loaded: bt4-1740.onnx
Precision: fp16
Und beim Spielen / Benchmark:
Nodes per second: 11450 auf RTX 4070
Das ist dein ONNX-TensorRT-Speedboost.
⸻
Optional: Benchmark prüfen
Du kannst direkt vergleichen:
.\lc0.exe benchmark --nodes 1000 --backend=tensorrt --net=bt4-1740.onnx
Mit CUDA:
.\lc0.exe benchmark --nodes 1000 --backend=cuda --net=bt4-1740.pb.gz
⸻
Fertig! Du nutzt jetzt TensorRT für Lc0.