Ich habe mich mit dem Autor von Ceres bezgl. TensorRT unterhalten und er hat mir erklärt:
"Regarding TensorRT, every neural network engine is likely to make use of library to speed up inference. In the case of Lc0, they built a custom executor for their own nets. For Ceres, we use TensorRT to provide a similar optimized execution experience."
Heißt, Lc0 benutzt zwar eine andere Methode der Speed-Optimierung, aber ein Test von Ceres ohne TensorRT files wäre somit unfairer als mit TensorRT. Also habe ich den Testrun mit dem letzten Netz C1-640-25 nochmal neu gestartet. Das Ergebnis mit dem älteren Netz und Ceres ohne TensorRT, das ich schon in meine Liste eingebaut hatte, wird dann entfernt...
TensorRT zu nutzen war nicht schwierig (habe weniger als 10 Minuten gebraucht, inklusive des 1GB Downloads):
Man registriert sich bei Nvidia:
https://developer.nvidia.com/tensorrt(Das Gute ist, man braucht sich kein Paßwort auszudenken etc., da man sich auch mit einem bestehenden Google-Account einloggen kann, nachdem man eine Sicherheits-Mail bestätigt)
Dann lädt man sich die zip-Datei mit den TensorRT files herunter und entpackt sie auf seinem PC.
Dann muß man in die Systemvariable Path natürlich den Pfad zur \lib im TensorRT Download schreiben (und den PC neu starten).
Über die UCI-Option "Device" übergibt man dann GPU:0#TensorRT (beim ersten Start erstellt Ceres noch irgendwelche weiteren Dateien, was 1-2 Minuten dauern kann)
Ich habe zunächst Ceres mal im Konsolenmodus gestartet und diese Kommandos eingegeben, damit Ceres diese zusätzlichen Dateien erstellt:
setoption name WeightsFile value C1-640-25.onnx
setoption name Device value GPU:0#TensorRT
Nachdem Ceres sich ausgemurkst hat, kann man dann mit "go infinite" mal starten und sich die nps ansehen. Die Steigerung sollte erheblich sein (100% und mehr).
Die cutechess-cli Befehlszeile für meinen Testrun sieht nun so aus:
cutechess-cli.exe
-engine name="Ceres 1.01 C1-640-25" dir="C:\Cutechess\Engines\Ceres_1.01" option.Device=GPU:0#TensorRT option.WeightsFile="C1-640-25.onnx" cmd="Ceres.exe" tc=/120+2 proto=uci -engine name="Stockfish 15.1 avx2" dir="C:/Cutechess/Engines" option.Hash=2048 option.Threads=14 cmd="stockfish_15.1_avx2.exe" tc=/60+1 proto=uci
-pgnout "results_ceres101_c164025.pgn" -event "NN testing (RTX 3060)" -each restart=on timemargin=2000 -recover -concurrency 1 -tournament gauntlet -ratinginterval 10 -wait 300 -tb "C:/Cutechess/syzygy_5" -tbpieces 5 -games 2 -rounds 500 -openings file="C:/Cutechess/UHO_2022_6mvs_+120_+129.pgn" format=pgn order=sequential policy=round -repeat
Steht alles auch hier auf der Ceres Site:
https://github.com/dje-dev/Ceres/blob/main/markup/instructions_7.md