Hallo
sind das alles UCI Parameter die über die GUI beim engine-erstellen eingegeben werden?
Ich habe mir heute eine RTX 2070 bestellt.
Gestern im daily Infinitychess Turnier hat mein 12core Brainfish beeindruckend verloren gegen RTX 2060.
C.K.
Andreas Strangmüller schrieb:
Leela Zero (Lc0) auf einer NVIDIA Geforce RTX 2060
<code>GUI: Arena 3.5.1
Engine: Lc0 v0.20.1 CUDA
Netz: 32900
Stellung: Grundstellung - FEN: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1</code>
Nachfolgend einige Benchmarks mit unterschiedlichen Settings nach ca. 60 Sekunden Bedenkzeit aus der Grundstellung:
Default Settings, backend=cudnn
<code> Zeit Knoten Gesamt Knoten pro Sekunde
Höchste Knotenzahl: 01:01 469.006 7.681
Nach einer Minute: 01:01 469.006 7.681</code>
---------------------------------------------------------------
Default Settings, backend=cudnn-fp16
<code> Zeit Knoten Gesamt Knoten pro Sekunde
Höchste Knotenzahl: 00:18 404.929 22.276
Nach einer Minute: 01:01 1.224.396 19.995</code>
---------------------------------------------------------------
Default Settings, backend=cudnn-fp16, NNCacheSize=2000000
<code> Zeit Knoten Gesamt Knoten pro Sekunde
Höchste Knotenzahl: 01:01 1.503.121 24.499
Nach einer Minute: 01:01 1.503.121 24.499</code>
---------------------------------------------------------------
Default Settings, backend=cudnn-fp16, NNCacheSize=2000000, MiniBatchSize=512
<code> Zeit Knoten Gesamt Knoten pro Sekunde
Höchste Knotenzahl: 01:02 1.596.595 25.446
Nach einer Minute: 01:02 1.596.595 25.446</code>
---------------------------------------------------------------
Default Settings, backend=cudnn-fp16, NNCacheSize=2000000, MiniBatchSize=1024
<code> Zeit Knoten Gesamt Knoten pro Sekunde
Höchste Knotenzahl: 01:03 1.624.881 25.413
Nach einer Minute: 01:03 1.624.881 25.413</code>
---------------------------------------------------------------
Default Settings, backend=cudnn-fp16, NNCacheSize=2000000, MiniBatchSize=512, MaxCollisionsEvents=512
<code> Zeit Knoten Gesamt Knoten pro Sekunde
Höchste Knotenzahl: 01:00 1.560.655 25.669
Nach einer Minute: 01:00 1.560.655 25.669</code>
---------------------------------------------------------------
Default Settings, backend=cudnn-fp16, NNCacheSize=2000000, MiniBatchSize=512, MaxCollisionsEvents=512, Threads=4
<code> Zeit Knoten Gesamt Knoten pro Sekunde
Höchste Knotenzahl: 01:02 1.563.849 25.115
Nach einer Minute: 01:02 1.563.849 25.115</code>
---------------------------------------------------------------
Default Settings, backend=cudnn-fp16, NNCacheSize=2000000, MiniBatchSize=512, MaxPrefetch=256, MaxCollisionsEvents=512
<code> Zeit Knoten Gesamt Knoten pro Sekunde
Höchste Knotenzahl: 01:02 1.583.994 25.497
Nach einer Minute: 01:02 1.583.994 25.497</code>
---------------------------------------------------------------
Default Settings, backend=cudnn-fp16, NNCacheSize=2000000, MiniBatchSize=512, MaxPrefetch=512, MaxCollisionsEvents=512
<code> Zeit Knoten Gesamt Knoten pro Sekunde
Höchste Knotenzahl: 01:01 1.513.198 24.625
Nach einer Minute: 01:01 1.513.198 24.625
</code>
---------------------------------------------------------------
Hier die vermeintlich besten Einstellungen mit 10 Minuten:
Default Settings, backend=cudnn-fp16, NNCacheSize=2000000, MiniBatchSize=512, MaxCollisionsEvents=512
<code> Zeit Knoten Gesamt Knoten pro Sekunde
Höchste Knotenzahl: 02:21 3.842.955 27.127
Nach zehn Minuten: 10:36 14.997.015 23.545</code>
---------------------------------------------------------------
Default Settings, backend=cudnn-fp16, NNCacheSize=20000000, MiniBatchSize=512, MaxCollisionsEvents=512
<code> Zeit Knoten Gesamt Knoten pro Sekunde
Höchste Knotenzahl: 10:01 16.980.960 28.219
Nach zehn Minuten: 10:01 16.980.960 28.219
</code>
--------------------------------------------------------------
Default Settings, backend=cudnn-fp16, NNCacheSize=20000000, MiniBatchSize=512, MaxCollisionsEvents=512, Threads=4
<code> Zeit Knoten Gesamt Knoten pro Sekunde
Höchste Knotenzahl: 10:03 17.459.570 28.927
Nach zehn Minuten: 10:03 17.459.570 28.927</code>
--------------------------------------------------------------
Und zum Schluss noch eine Analyse von über einer Stunde mit dem Maximalwert der NNCacheSize:
Default Settings, backend=cudnn-fp16, NNCacheSize=999999999, MiniBatchSize=512, MaxCollisionsEvents=512, Threads=4
<code> Zeit Knoten Gesamt Knoten pro Sekunde
Höchste Knotenzahl: 32:50 60.231.582 30.559
Nach einer Stunde: 1:08:52 124.111.072 30.033</code>
Bei dieser langen Bedenkzeit/Analyse wird die Schallmauer von 30.000 Knoten pro Sekunde durchbrochen!
34/76 1:15:57 137.939.747 30.268 +0,49 1.e4 e5 2.Sf3 Sc6 3.Lb5 Sf6 4.0-0 Sxe4 5.Te1 Sd6 6.Sxe5 Le7 7.Lf1 Sxe5 8.Txe5 0-0 9.d4 Lf6 10.Te1 Te8 11.Lf4 Txe1 12.Dxe1 Se8 13.c3 d5 14.Sd2 Lf5 15.Sb3 Sd6 16.De2 c6 17.Te1 b6 18.Sd2 Dd7 19.Dd1 Se4 20.Sf3 Lg4 21.Ld3 Df5 22.Dc1 Lxf3 23.gxf3 Lg5 24.Le3 Dxf3 25.Lxe4 dxe4 26.Lxg5 Dg4+ 27.Kf1 Dh3+ 28.Kg1 Dg4+ 29.Kh1 Df3+ 30.Kg1 Dg4+
Fazit:
Die Option backend=cudnn-fp16 erhöht die Knotenzahl drastisch, ca. um den Faktor 3 zu den Standardeinstellungen!
cudnn-fp16 (Nvidia CUDA Deep Neural Network Library, 16-bit half-precision floating point) unterstützen derzeit allerdings nur die NVIDIA Grafikkarten der neuesten Generation, die Geforce RTX 20-Serie (RTX 2060, RTX 2070, RTX 2080 und RTX 2080 Ti), sowie die NVIDIA Titan-Serie.
Die Standardeinstellung der Option NNCacheSize=2000000 ist für kurze Bedenkzeiten (unter 20 Sekunden pro Zug) ausreichend. Bei längeren Bedenkzeiten füllt sich der Cache schnell und die Knotenzahlen werden nach dem Erreichen der 100% Marke kontiunierlich geringer.
Dieser Wert sollte also bei Bedenkzeiten über 20 Sekunden pro Zug unbedingt erhöht werden. Siehe die 10 Minuten Tests.
Die beiden Optionen MiniBatchSize=512 und MaxCollisionsEvents=512 erhöhen die Knotenzahl ebenfalls nochmal leicht.
Eine Erhöhung der Threads (Standard=2) ist nicht unbedingt erforderlich, bei längeren Analysen bringt es aber scheinbar noch ein paar zusätzliche Knoten.