Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Lc0 v0.26.3-rc1veröffentlicht
- - By Lothar Jung Date 2020-09-28 20:34
cudnn ist experimentell optional „abwählbar“.

https://github.com/LeelaChessZero/lc0/releases

Eine Option zu testen.

Lothar
Parent - - By Lothar Jung Date 2020-09-29 11:52 Edited 2020-09-29 12:32 Upvotes 1
Hier die Einzelheiten:

Residual block fusion optimization for cudnn backend, that depends on custom_winograd=true. Enabled by default only for networks with up to 384 filters in fp16 mode and never in fp32 mode. Default can be overridden with --backend-opts=res_block_fusing=false to disable (or =true to enable).
New experimental cuda backend without cudnn dependency (cuda-auto, cuda and cuda-fp16 are available).

Das „cuda“ backend umgeht die Bibliothek „cudnn“ und spricht die RTX-Grafikkarten auf Hardwareebene direkt an.
Dieses Vorgehen wird auch im Spielebereich angewandt, um mehr Performence zu erreichen.

Hier die bisherigen Tests der backends:

**Binary Speed Comparison**

Previous binary v0.26.2  - first 20 games
```Name                               Games    Depth       NPS           Nodes
-------------------------------------------------------------------------------------
stockfish-280920-vnni512       :      20     33        30527758   103685745
Lc0-J92-210-MLH-slope 0.004    :      10     12           18153      150438
Lc0-J92-220-MLH-slope 0.004    :      10     11           18646      151005```

New Binary v0.26.3 - first 20 games
```Name                               Games    Depth       NPS           Nodes
-------------------------------------------------------------------------------------
stockfish-280920-vnni512       :      20     34        30248837   94978666
Lc0-J92-210-MLH-slope 0.004    :      10     12           20855     195440
Lc0-J92-220-MLH-slope 0.004    :      10     11           20176     166391```

**So the increase is a more realistic 14.5% which closely matches the benchmark increase.**

Further benchmark with Ankan's cuda-fp16 and dx12 to follow.

<@!435088453957320712>  <@!312566876775383051>  <@!371041838003519499>
**Further Benchmarks Lc0-26.3**

**Dx12**
Lc0 v0.26.2-dx12
===========================
Total time (ms) : 340937
Nodes searched  : 6506909
Nodes/second    : 19085
Tuner 17815

Lc0 v0.26.3-dx12
===========================
Total time (ms) : 340859
Nodes searched  : 6602347
Nodes/second    : 19370
Tuner 17855

Speedup  **1.5%**

(HV no great increase for dx12)

**Cudnn-fp16**
Lc0 v26.2 cudnn-fp16
===========================
Total time (ms) : 340885
Nodes searched  : 6739868
Nodes/second    : 19772
Tuner 18118

Lc0 v0.26.3 **cudnn**-fp16
===========================
Total time (ms) : 340840
Nodes searched  : 7509804
Nodes/second    : 22033 
Tuner  19523

Speedup **11.44%**

V0.26.3 **cuda**-fp16
===========================
Total time (ms) : 340791
Nodes searched  : 7852699
Nodes/second    : 23042
Tuner 21224

Speedup **16.54%**

**New Binary lc0 v26.3 with cuda-fp16 is top**

Ergebnis: Das neue backend „cuda-fp16“ erreicht eine Geschwindigkeitssteigerung von 16,54 %(26.2), also 5% gegenüber „cudnn-fp16“ (26.3).

Zu testen wäre wieviel Steigerung noch zusätzlich mit CUDA11 8.03 zu erreichen sind.

Lothar
Parent - - By Thomas Lagershausen Date 2020-09-29 13:51 Edited 2020-09-29 13:58
Verständnisfrage:

Reicht es cuda-16fp auszuwählen, oder muss im darunter liegenden Dialogfenster backend Options noch etwas eingetragen werden?

Bisher ist bei mir cuda-16fp langsamer als cudnn-16fp.
Parent - - By Lothar Jung Date 2020-09-29 14:09 Edited 2020-09-29 14:38
Ich kannst leider nicht testen, da ich in Frankreich nur einen Notebook zur Verfügung habe.

backend=multiplexing bleibt bestehen.

Tests liefen mit MLH-slope 0.004.

Welche CUDA-Version benutzt du, 10 oder 11? Wenn 10, dann 11.1.0 versuchen.

Hast Du den neuesten Nvidia-Treiber geladen?

Vielleicht ist noch den winograd Parameter eingeben. Siehe Eintrag oben. Ich glaube aber, der ist für cuda uninteressant.

Ein Test läuft zur Zeit ohne cuda, aber mit 26.3 und den Einstellungen:

Cuda 11.1.0 -cudnn 8.0.3- Lc0 v0.26.3-rc1+git.1b3a7e6

Compile für cuda-fp16:

Own compile with CUDA 11.0 and CUDNN 7.4.2

Schau Dir das noch an: die TCEC Parameter für 0.26.3:

https://github.com/kiudee/lc0-tcec-submission/pull/1

Lothar
Parent - By Lothar Jung Date 2020-09-29 19:00
Diese backend-Einstellung von 0.26.3  testet derzeit der Entwickler arkan:

```                "name": "BackendOptions",
                "value": "backend=cuda-fp16,res_block_fusing=true,(gpu=0),(gpu=1),(gpu=2),(gpu=3)"```

Lothar
Parent - - By Lothar Jung Date 2020-09-30 13:49
Hier die neusten Testergebnisse, aber relativ zur Spielstärke:

**Match:** SPRT of 0.26.3-rc1 vs 0.26.2
**Hardware:** Geforce RTX 2070S & 2 x Xeon E5-2680
**Lc0 version:** As above with cuda 11.1 and cudnn 7.6.5
**Lc0 options:** Backend=cudnn-fp16 NNCacheSize=1000000 MinibatchSize=80 option.MaxOutOfOrderEvalsFactor=2.4 MovesLeftMaxEffect=0.2 MovesLeftThreshold=0.0 MovesLeftSlope=0.004 MovesLeftQuadraticFactor=0.0 MovesLeftScaledFactor=1.0 MovesLeftConstantFactor=0.0
**Speed:** 0.26.2: 10.2 kN/s; 0.26.3-rc1: 11.3 kN/s
**Time control:** 10s+0.1s
**Book:** jhorthos' book-ply6-unifen-Q-0.0-0.25.pgn, random, color reversed
**Tablebases:** 6-man syzygy
**Adjudication:** 6-man TB, -draw movenumber=20 movecount=5 score=10 -resign movecount=3 score=500
**Software:** cutechess-cli
**Comments:** A VSTC test (1.8s+0.03s) finished very quickly with an elo of +23 so I decided to run an STC test to see how much the elo would compress.

```diff

   # PLAYER                        :  RATING  ERROR  POINTS  PLAYED   (%)  CFS(%)    W     D    L
   1 lc0.net.J92-190_0.26.3-rc1    :    12.6    6.6   966.5    1866  51.8     100  197  1539  130
   2 lc0.net.J92-190_0.26.2        :     0.0   ----   899.5    1866  48.2     ---  130  1539  197

White advantage = 13.36 +/- 3.38
Draw rate (equal opponents) = 83.13 % +/- 0.88

```
sprt.py --elo0=0 --elo1=3 --results 130 1539 197:
```
[Elo0,Elo1]                 :  [0.00,3.00]
Confidence level            :  95.00%
Elo                         :  12.04
Confidence interval         :  [5.39,18.71] (95.00%)
LOS                         :  99.98%
LLR [u,l]                   :  2.93  [-2.94,2.94]

```

**Match:** SPRT of 0.26.3-rc1 with Backend=cuda-fp16 vs 0.26.3-rc1 with Backend=cudnn-fp16
**Hardware:** Geforce RTX 2070S & 2 x Xeon E5-2680
**Lc0 version:** 0.26.3-rc1 with cuda 11.1 and cudnn 7.6.5
**Lc0 options:** NNCacheSize=1000000 MinibatchSize=80 option.MaxOutOfOrderEvalsFactor=2.4 MovesLeftMaxEffect=0.2 MovesLeftThreshold=0.0 MovesLeftSlope=0.004 MovesLeftQuadraticFactor=0.0 MovesLeftScaledFactor=1.0 MovesLeftConstantFactor=0.0
**Speed:** cudnn-fp16: 11.3 kN/s; cuda-fp16: 11.4 kN/s
**Time control:** 1.8s+0.03s
**Book:** jhorthos' book-ply6-unifen-Q-0.0-0.25.pgn, random, color reversed
**Tablebases:** 6-man syzygy
**Adjudication:** 6-man TB, -draw movenumber=20 movecount=5 score=10 -resign movecount=3 score=500
**Software:** cutechess-cli

```diff

   # PLAYER                        :  RATING  ERROR  POINTS  PLAYED   (%)  CFS(%)     W     D     L
   1 lc0.net.J92-190_cuda-fp16     :     8.0    5.0  3218.0    6293  51.1     100  1137  4162   994
   2 lc0.net.J92-190_cudnn-fp16    :     0.0   ----  3075.0    6293  48.9     ---   994  4162  1137

White advantage = 26.85 +/- 2.59
Draw rate (equal opponents) = 66.77 % +/- 0.59

```
sprt.py --elo0=0 --elo1=3 --results 994 4162 1137:
```
[Elo0,Elo1]                 :  [0.00,3.00]
Confidence level            :  95.00%
Elo                         :  7.39
Confidence interval         :  [2.27,12.48] (95.00%)
LOS                         :  99.76%
LLR [u,l]                   :  2.94  [-2.94,2.94]

```

J92-190 und Lc0 0.26.3-rev1 mit backend „cuda-fp16“ bringen einen deutlichen Spielstärkeschub, der so von mir nicht erwartet wurde.
Es wird spannend im anstehenden TCEC-Finale gegen SF12 NNUE!

Lothar
Parent - By Florian Wieting Date 2020-09-30 14:09
# PLAYER                           :  RATING  ERROR  POINTS  PLAYED   (%)  CFS(%)    W     D    L
   1 lc0.net.J92-190_0.26.3-rc1    :    12.6    6.6   966.5    1866  51.8     100  197  1539  130
   2 lc0.net.J92-190_0.26.2        :     0.0   ----   899.5    1866  48.2     ---  130  1539  197
Parent - By Florian Wieting Date 2020-09-30 14:10
   # PLAYER                        :  RATING  ERROR  POINTS  PLAYED   (%)  CFS(%)     W     D     L
   1 lc0.net.J92-190_cuda-fp16     :     8.0    5.0  3218.0    6293  51.1     100  1137  4162   994
   2 lc0.net.J92-190_cudnn-fp16    :     0.0   ----  3075.0    6293  48.9     ---   994  4162  1137
Parent - - By Clemens Keck Date 2020-09-30 14:11
also mit NN J92-220

lc0 26.2  macht bei mir auf 2 GPU (2070 + 2060) 15600 nps
lc0 26.3rc1  macht bei mir auf 2 GPU (2070 + 2060) 13200 nps

lc0 26.2 + cuda 11 + cudnn 7.6.5 macht  bei mir auf 2 GPU (2070 + 2060) 18900 nps

C.K.
Parent - By Eduard Nemeth Date 2020-09-30 14:47
Das sind deutliche Unterschiede. Ich würde die schnellere Lc0 Version nutzen.
Parent - - By Lothar Jung Date 2020-09-30 20:28
Gleichwohl haben sich die Entwickler beim TCEC-Finale für Lc0 0.26.3-rc1 entschieden:

„the engine department we go with the new 0.26.3-rc1 which features
the new residual block fusion winograd optimization by ankan“

Lothar
Parent - - By Peter Martan Date 2020-09-30 20:33 Edited 2020-09-30 20:35
Lothar Jung schrieb:

the new residual block fusion winograd optimization by ankan

Na, wenn i grad was mit an anzigen (mundartlich für: einem einzigen) Anka optimieren kann, das dann alle News ganz und gar residual blockt, dann nehm' ich das natürlich auch.
Fremdsprachenkundig grüßt
Parent - - By Reinhold Stibi Date 2020-09-30 20:38
Ist das nicht etwas kindisch, Eure grüßerei.

Parent - - By Peter Martan Date 2020-09-30 20:41
Du hast ganz recht, Reinhold, das war allerdings an meinem obigen Posting noch das am wenigsten Kindische vielleicht.
grüßt
Parent - - By Reinhold Stibi Date 2020-09-30 20:47
Ihr seid immerhin inzwischen über 10 Jahre alt und gestandene Mannsbilder.



Grüßt Reinhold
Parent - By Peter Martan Date 2020-09-30 20:49
Schon wieder eher auf dem Weg zur Senilität als zur Pubertät, was mich angeht, das mit dem Erwachsenwerden dazwischen muss ich irgendwie verpasst haben.
Infantil- senile Grüße
Parent - By Lothar Jung Date 2020-09-30 21:01
Ich verstehe das auch nicht.
Habe aber einen Link.
Also ich weiß, wer lesen und schreiben kann.

https://github.com/LeelaChessZero/lc0/pull/1428

Lothar
Up Topic Hauptforen / CSS-Forum / Lc0 v0.26.3-rc1veröffentlicht

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill