Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Frage an lc0 Kenner?
- - By Frank Sanders Date 2024-03-30 15:41 Upvotes 1
Ich verwende lc0 auch als Konsoleanwendung. Wenn ich eine Position mit "position fen" gefolgt von einem fen-String eingeben, und danach mit z.B "go movetime 1000" das Programm starte, antwortet es sofort ohne zu rechnen. Ich kann die movetime erhöhen wie ich will, die Antwort kommt immer sofort. Laut UCI Spezifikation ist go movetime so festgelegt: "search exactly x mseconds".

Code:

position fen 1rr3k1/1q3pp1/pnbQp2p/1p2P3/3B1P2/2PB4/P1P2RPP/R5K1 w - -
go movetime 1000
info depth 1 seldepth 1 time 7383 nodes 1 score cp 93 tbhits 0 pv f4f5
bestmove f4f5
go movetime 10000
info depth 1 seldepth 0 time 70833 nodes 1 score cp 93 tbhits 0 pv f4f5
bestmove f4f5
go movetime 20000
info depth 1 seldepth 0 time 82488 nodes 1 score cp 93 tbhits 0 pv f4f5
bestmove f4f5
go movetime 60000
info depth 1 seldepth 0 time 91218 nodes 1 score cp 93 tbhits 0 pv f4f5
bestmove f4f5
  

Warum ist das so?
Parent - - By Jörg Oster Date 2024-03-30 16:35 Upvotes 1
Kurze Antwort: weil Leela die Zeit nicht mit dem 'go' Befehl startet ...

Wie du an den Infozeilen siehst, läuft die Zeit immer weiter.
Wiederhole deine 'position fen xxx' Eingabe und starte dann sofort die Berechnung mit genügender Zugzeit.
Parent - - By Frank Sanders Date 2024-03-30 17:39 Upvotes 1
Das ändert auch nichts, hier die Ausgabe:

Code:
uciok
ucinewgame
Found pb network file: D:\CuteChess\Engines\lc031/BT4-1024x15x32h-swa-6147500.pb.gz
Weights file has multihead format, updating format flag
Creating backend [cuda-auto]...
Switching to [cuda-fp16]...
CUDA Runtime version: 11.1.0
Latest version of CUDA supported by the driver: 12.4.0
GPU: NVIDIA GeForce RTX 4070 Ti SUPER
GPU memory: 15.9917 Gb
GPU clock frequency: 2640 MHz
GPU compute capability: 8.9
L2 cache capacity: 50331648
position fen 1rr3k1/1q3pp1/pnbQp2p/1p2P3/3B1P2/2PB4/P1P2RPP/R5K1 w - -
go movetime 3000
info depth 1 seldepth 1 time 14141 nodes 1 score cp 93 tbhits 0 pv f4f5
bestmove f4f5
ucinewgame
position fen 1rr3k1/1q3pp1/pnbQp2p/1p2P3/3B1P2/2PB4/P1P2RPP/R5K1 w - -
go movetime 5000
info depth 1 seldepth 1 time 12755 nodes 1 score cp 93 tbhits 0 pv f4f5
bestmove f4f5
Parent - - By Jörg Oster Date 2024-03-30 17:52 Upvotes 1
Wie lange brauchst du denn zum Eintippen von 'go movetime xxxxx'? 
Parent - By Frank Sanders Date 2024-03-30 18:05 Upvotes 1
Ich tippe nicht ich paste.
Parent - By Andreas Matthies Date 2024-03-30 18:23 Upvotes 1
Ich habe auch mal ein wenig probiert. Scheinbar setzt das 'isready' Kommando bei Leela die Zeit zurück.

Etwas seltsam aber so ist es wohl.
Parent - - By Jörg Oster Date 2024-03-31 17:09 Upvotes 1
Versuch doch mal

setoption name StrictTiming value true

Dann sollte es so wie bei den meisten UCI-Engines klappen.

Frohe Ostern!
Parent - - By Frank Sanders Date 2024-03-31 19:38
Danke, auch schone Feiertage.
Das hilft etwas, das Programm rechnet dann länger, aber wenn ich 7000ms eingebe bricht es auch nach ca 3100ms ab.
By the way, ist die Option "StrictTiming" eine undokumentierte Option, denn sie wird in der option-Liste nicht angezeigt?
Parent - - By Jörg Oster Date 2024-03-31 19:54
Ja, StrictTiming ist eine versteckte Option.

Dass Lc0 nur ca. die Hälfte (pi mal Daumen) der vorgegebenen Zeit nutzt, ist im Code begründet.
Nimm einfach die doppelte Zeit, dann passt es ungefähr.
Parent - By Frank Sanders Date 2024-03-31 20:03
Danke , werds versuchen.
Up Topic Hauptforen / CSS-Forum / Frage an lc0 Kenner?

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill