Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Lc0 v0.23.0-rc2 released
- - By Eduard Nemeth Date 2019-11-28 12:09 Edited 2019-11-28 12:14
v0.23.0-rc2:
Fixes in nps and time reporting during search.
Introduced DNNL BLAS build for modern CPUs in addition to OpenBLAS.
Build fixes on MacOS without OpenCL.
Fixed smart pruning and KLDGain trying to stop search in go infinite mode.
OpenCL package now has check_opencl tool to find computation behaves sanely.
Fixed a bug in interoperation of shortsighteness and certainty propagation.
Parent - - By Eduard Nemeth Date 2019-11-28 13:16
Habe Fat Fritz (weights) mit DNNL BLAS installiert, und auf 15 Threads getestet.

Mit 0.23.0 RC2 (und den Standardeinstellungen von Lc0) kam ich nach 2 Minuten auf 240 n/s.
Mit der originalen Engine von Fat Fritz (CPU) kam ich nach 2 Minuten auf 220 n/s.
Habe den Vorgang wiederholt (GUI schließen und neu laden). Hash war auf 6 GB eingestellt.
Parent - By Stefan Pohl Date 2019-11-28 13:28 Edited 2019-11-28 13:37
Eduard Nemeth schrieb:

Habe Fat Fritz (weights) mit DNNL BLAS installiert, und auf 15 Threads getestet.

Mit 0.23.0 RC2 (und den Standardeinstellungen von Lc0) kam ich nach 2 Minuten auf 240 n/s.
Mit der originalen Engine von Fat Fritz (CPU) kam ich nach 2 Minuten auf 220 n/s.
Habe den Vorgang wiederholt (GUI schließen und neu laden). Hash war auf 6 GB eingestellt.


Hmmm. Die Steigerung ist ja nichts, was einen nun vom Hocker haut. ca. +10% dürfte in der Praxis kaum etwas bringen. Aber besser als nix.

Und wie oft muß ich nun eigentlich hier noch betonen, daß lc0 (und damit auch Fat Fritz) das Hash-Kommando überhaupt nicht kennt? Jegliche Hasheinstellung ist daher völlig wirkungslos. Wie jede UCI-Engine, ignoriert auch Fat Fritz jedes UCI-Kommando, das er nicht kennt. Man muß den Parameter NNCachesize setzen. Der ist das, was in etwa der Hash-Einstellung bei AB-Engines entspricht. Allerdings ist dieser per default schon auf 2 Mio eingestellt, was bei der geringen Knotenleistung der NN-Engines schon sehr viel ist.

Einfach mal Fat Fritz im Konsolenmodus starten und "uci" eingeben. Dann bekommt man alle UCI-Parameter angezeigt, die Fat Fritz kennt. Da ist Hash nun mal nicht dabei. Also kann man soviel Hash reservieren, wie man will, es hat auf Fat Fritz keinerlei Wirkung. Auf lc0 natürlich ebensowenig.

Ich verstehe ja, warum es zu diesem Mißverständnis kommt: Viele GUIs bieten die Parameter Hash und Ponder separat von den sonstigen UCI-Optionen der Engines an, weil üblicherweise alle Engines diese beiden UCI-Kommandos kennen. Aber mit den NN-Engines hat sich das nun mal erledigt. Diese kennen zwar das Kommando "Ponder" aber eben nicht das Kommando "Hash"...
Parent - By Lothar Jung Date 2019-11-28 20:00
Hier ist ein interessanter Test zwischen den Lc0 0.22 und 0.23.0-rc2 Versionen (mit verschiedenen Parametern):

```
lc0.net.61285-0.22.0:                 12,300 nps
lc0.net.61285-0.23.0-rc2:             12,100 nps
lc0.net.61285-0.23.0-rc2-log:         13,500 nps
lc0.net.61285-0.23.0-rc2-short:       13,800 nps
lc0.net.61285-0.23.0-rc2-log-short:   14,000 nps

lc0.net.42850-0.22.0:                 22,100 nps
lc0.net.42850-0.23.0-rc2:             21,800 nps
lc0.net.42850-0.23.0-rc2-log:         22,700 nps
lc0.net.42850-0.23.0-rc2-short:       22,700 nps
lc0.net.42850-0.23.0-rc2-log-short:   23,600 nps```

btw: my previous rc1-benchmarks where with downclocked gpu (RTX2070S at 80% power limit). Now, with 100% powerlimit, we have of course slightly increased nps, for 42850-0.22.0 for example.
Pure -rc2 seems to decrease nps by a bit, but there are a lot of nps-gains with --short-sightedness=0.02 and --logit-q!
Parent - - By Guenter Stertenbrink Date 2019-12-01 06:43
for some reason, there is no Lc0-Linux executable available

> Linux and Mac users have to compile from source following the instructions in the project page.

however, for the "client" program, which I assume is the one which runs games for Lc0-testing
and automatically submits the results, they do provide a Linux-executable.

Now, I tried to compile Lc0 in Linuxmint.
I downloaded and unpacked "lco-master.zip" .
Then the README.md  says I must switch to the lc0-directory,
but there is no lc0-directory.
However there was a "build.sh" in the current directory, so I ran "sh build.sh"
from command-line.
It gave an error message, 2 packages were needed, one of them was "mason".
So I tried "sudo apt-get install mason" , after inserting the Ethernet-cable,
and it worked !
But then trying "sh build.sh" again gave another error. I don't remember, which.

I did search the web for an lc0-Linux-executable, but couldn't find it.

So, has anybody successfully compiled lc0 in Linux , whatever "distro" ?

I didn't see reports of people running lc0 in Linux either.
But there are Android-versions meanwhile.
Parent - - By Mann Herrmann Date 2019-12-01 08:42
Bei mir läuft Lc0 problemlos auf Arch-Linux. Am Anfang mussten ein paar Abhängigkeiten zum kompilieren nachinstalliert werden, aber seitdem habe ich keine Probleme.
Parent - - By Guenter Stertenbrink Date 2019-12-01 10:15 Edited 2019-12-01 10:18
gibst du mir dein executable ?

laeuft das auf CPU mit Ld2 oder dem  neuen 58er ?
Parent - - By Mann Herrmann Date 2019-12-01 11:16
Ich weiß leieder nicht was Ld2 bedeutet.

Das mit dem einfachen Kopieren der binary wird nicht klappen. Hier mal eine Liste mit Befehlen, um Lc0 mit blas-Backend auf Ubuntu zu bauen:

1: System aktualisieren:

sudo apt update && sudo apt dist-upgrade && sudo apt upgrade && sudo apt clean && sudo apt autoremove

2: Ggfs. neu starten:
reboot

3: Abhängigkeiten installieren:
sudo apt install meson libopenblas-dev ninja-build git libgtest-dev build-essential libz-dev pkg-config protobuf-compiler libprotobuf-dev

4: Lc0 herunterladen
git clone -b release/0.23 --recurse-submodules https://github.com/leelachesszero/lc0

5: Lc0 bauen
./build.sh

Falls noch andere Backends gewünscht sind, die entsprechenden Abhängigkeiten installieren und neu bauen.
Parent - - By Guenter Stertenbrink Date 2019-12-01 13:33
Ld2 ist ein weight's file (Netzwerk) das gut auf CPU ist.

Danke fuer die Anleitung ... kompliziert ... bei den "client" files ist es doch ganz einfach,
da gibt es ein Linux-binary .
Fuer die Traingspartien, nehm ich an.
Parent - - By Mann Herrmann Date 2019-12-02 12:23
Kompilieren ist  ein auf den ersten Blick kompliziert erscheinender Prozess wenn man es nicht gewöhnt ist.

Hast du jetzt eine funktionierende binary bekommen?

Alternativ könntest du ja den client auführen und dessen binary irgendwo hinkopieren.
Parent - - By Guenter Stertenbrink Date 2019-12-02 15:35
nee, mason oder meson geht nicht

und ./client_linux  kann die Binaerdatei nicht ausfuehren, Fehler im Programmcode
Parent - - By Mann Herrmann Date 2019-12-02 16:02
Wenn du willst kannst du ja mal deine Fehlermeldung hier post, damit ich mir das mal kurz anschauen kann.

Welche Version von Linux Mint benutzt du?
Parent - By Guenter Stertenbrink Date 2019-12-02 16:31
danke.
Linuxmint 18.3 ... ich kann auch andere versuchen
Ubuntu, Arch, Zorin, raspian usw.

with linuxmint on another computer :

fork/exec /home/gs/lc0:  no such file or directory
Parent - - By Stefan Pohl Date 2019-12-02 16:21 Edited 2019-12-02 16:24
Inzwischen ist die offizielle lc0 0.23.0 released worden.

What's new in the release:
Support of Fischer Random Chess (UCI_Chess960 option to enable FRC-style castling). Also added support for FRC-compatible weight files, but no training code yet.
New option --logit-q (UCI: LogitQ). Changes subtree selection algorithm a bit, with a hope to win won positions faster (experimental, default off).
Lc0 now reports WDL score. In addition to showing position score in centipawns, also show probability of winning, losing, and drawing. To enable it, use --show-wdl command-line argument or UCI_ShowWDL UCI option.
DNNL BLAS builds is included in addition to OpenBLAS. It should be faster for modern CPUs (for older CPUs, OpenBLAS is still faster).
OpenCL package now contains check_opencl tool which detects faulty OpenCL hardware or drivers.
Added "Badgame split" mode during the training. After the engine makes inferior move due to temperature, the game is branched and later the game is replayed from the position of the branch.
Added experimental --short-sightedness (UCI: ShortSightedness) parameter. Treats longer variations as more "drawish".
Lc0 can now open Fat Fritz weight files.
Time management code refactoring. No functional changes, but will make time management changes easier.
Lc0 logo is now printed in red when Lc0 is run from command line! \o/
Command line argument -v is now short for --verbose-move-stats.
Errors in --backend-opts parameter syntax are now reported.
The most basic version of "certainty propagation" feature (actually without "propagation" part). If the engine sees the checkmate in one, it plays it! (before it could play other good move).
In benchmark mode, smart pruning is now disabled to add consistency between benchmark runs.
Various small changes: hidden options to control Dirichlet noise, floating point optimizations, Better error reporting if there is exception in worker thread, better error messages in CUDA backend.

Also im Wesentlichen: Fat Fritz NeuralNetz kann gelesen werden, es gibt eine CPU-Version, die auf modernen CPUs etwas schneller läuft und Chess960 wird unterstützt.
Parent - - By Eduard Nemeth Date 2019-12-02 17:30 Edited 2019-12-02 17:33
Ich hatte gehofft dass der Engine Name beim offiziellen Release nicht so lang ist "Name=Lc0 v0.23.0+git.02fc8e0 T58 58470". Fügt man die Netzgröße dazu und das Netz, was ich gerne mache damit ich später in der PGN sehe wer genau spielte, dann wird der Name sehr lang. Denken die bei Lc0 nicht an sowas?
Parent - - By Stefan Pohl Date 2019-12-02 17:44
Eduard Nemeth schrieb:

Ich hatte gehofft dass der Engine Name beim offiziellen Release nicht so lang ist "Name=Lc0 v0.23.0+git.02fc8e0 T58 58470". Fügt man die Netzgröße dazu und das Netz, was ich gerne mache damit ich später in der PGN sehe wer genau spielte, dann wird der Name sehr lang. Denken die bei Lc0 nicht an sowas?


Nö, ich glaube, die FritzGUI ist für die Jungs kein Thema...
Parent - By Eduard Nemeth Date 2019-12-02 18:28
Fat Fritz NN mit "Lc0 0.23.0 dnnl" deutlich schneller auf CPU als mit eigener Engne!

Ich habe folgende Settings unter Lc0 0.23.0 cpu-dnnl eingestellt (fritz GUI):

[OPTIONS]
UCI_Chess960=true
Threads=4
MinibatchSize=64
MaxPrefetch=4
LogitQ=true
CPuct=2.700000
FpuValue=0.550000
PolicyTemperature=1.520000
MoveOverheadMs=75000

Kann jeder mal schnell abtesten und sich überzeugen. Darüberhinaus, unabhängig ob GPU oder CPU,
bietet Lc0 in der neusten Version eine Option "LogitQ". Lc0 spielt bei mir damit stärker.

Hier eine kleine Testposition (wo dnnl klar schneller ist als FF Original):

Parent - - By Eduard Nemeth Date 2019-12-04 00:50
Jetzt gibt es Version 23.1. Das Gute: Es gibt die Cuda Engine auch ohne DLLs.

https://github.com/LeelaChessZero/lc0/releases
Parent - By Horst Sikorsky Date 2019-12-04 09:02 Upvotes 1
Hurra! Alle paar Minuten eine neue LcO Engine 
Parent - - By Dieter Kraft Date 2019-12-06 14:32
Eduard Nemeth schrieb:

Jetzt gibt es Version 23.1. Das Gute: Es gibt die Cuda Engine auch ohne DLLs.

1) Was ist daran gut?

2) Meine .UCI heißt
Lc0 v0.23.1+git.6837b83
Was bedeutet +git.6837b83 ?

Danke für die Beantwortung der beiden Fragen.
Beste Grüße
Parent - By Eduard Nemeth Date 2019-12-06 18:06
Die DLLs sind seit einer gefühlten Ewigkeit dieselben.
Diese unsäglich lange Bezeichnung nervt mich auch. Wer braucht denn sowas? Früher hiess es auch nur 0.22.0 und es war gut so.
Up Topic Hauptforen / CSS-Forum / Lc0 v0.23.0-rc2 released

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill