Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Persistent Hash - welche engines aus 2017 können es?
- - By Peter Unger Date 2017-07-28 15:15
Leider gelingt mir es nicht, P.H. zum Laufen zu bringen, trotz der Anweisungen von R. Houdart im Handbuch zu Houdini
(http://www.cruxis.com/chess/manual/index.html?persistent_hash_memory.htm)
und Dan Corbit in einem talk-chess-thread (http://www.talkchess.com/forum/viewtopic.php?t=64720&postdays=0&postorder=asc&topic_view=&start=0). Daher meine Frage - wer har das feature in neueren Komodo oder Houdini oder dem oben erwähnten Stockfis-Kompilat (http://www.andscacs.com/downloads/stockfish_x64_modern_170724_savehash.zip fehlerfrei zum Laufen gebracht.
Ich habe es in der Fritz 15 GUI, der CB 14 GUI und in der Aquarium 2017 GUI probiert , und zwar so wie im Houdini-Handbuch beschrieben, wobei es mir gelungen ist jeweils das hash-file zu erzeugen):
To save a Hash file to disk:
•  End the analysis
•  Go to the options window, enter the name of the Hash File (e.g. C:\Chess\Game1.dat; in der erwähnten sockfish engine steht: hash.hsh))
•  Press the Save Hash to File button, and OK in the options window.
To load a Hash file from disk:
•  Load the game
•  Go to the options window, enter the name of the Hash File (e.g. C:\Chess\Game1.dat)
•  Press the Load Hash from File button, and OK in the options window.

Ich kann allerdings keinen signifikanten Zeitunterschied erkennen zwischen der Analyse ohne hash-file und der mit dem geladenen Hash-file. Ich erwarte z.B - abhängig von der Hardware: Tiefe 35 ohne hash-file = 30sec.; mit geladenem hash-file = 5sec.
Parent - - By Guenter Stertenbrink Date 2017-07-30 13:05 Edited 2017-07-30 13:11
hast du es mit asmfish versucht ?

-------------------------------------

Besides the usual uci options there are the following:

...

TTFile:         Set the location of the file for TTSave and TTLoad.
TTSave:         Saves the current hash table to TTFile.
TTLoad:         Loads the current hash table while possibily changing the size.

==============================

man koennte vielleicht ein executable assemblieren, das automatich immer for "quit"
den hash in das file "hash" oder so im aktuellen Verzeichnis abspeichert

und das nach "go" immer erst das "hash" laedt

wuerde Sinn machen.
Parent - - By Guenter Stertenbrink Date 2017-07-30 18:26
with asmfish
I could save the hash, and the file showed up in file-explorer,
but I could not load it (error: could not read hash file)

from a Russian forum :

TCH06.10.2016, 6pm
With TTFiles who figured it out?
How to save the cache?
In the pedant like working. Register in TTFile a file for storage of a hash,
for example, d: \ HESH \ PedantHash.dat (Russian letters in a way accepts).
Right-click on the icon of the engine in the Aqua, there are lines TTsave and Ttload,
the first saves the hash to disk, the second loads from disk to memory.

Can I do such an operation in Fritz or Chessbase?
Parent - - By Guenter Stertenbrink Date 2017-08-01 09:15
ok, der Fehler ist anscheinend, dass die Groesse der gespeicherten hash-datei kein Vielfaches
von 1MB ist. Wenn ich die Groesse aendere/editiere durch Loeschen/Hinzufuegen von Bytes,
sodass sie ein Vielfaches von 1048576 ist, dann kann ich sie laden mit setoption name ttload ,
nach vorheriger Bestimmung des Pfades , [Android-Linux-Kommandozeile, keine GUI]
z.B. setoption name ttfile value /storage/sdcard0/kbox_home/hash7

ich weiss zur Zeit noch nicht, ob bei erneuter Analyse dann auch das alte Hash
tatsaechlich verwendet wird und ob die geaenderten Bytes was ausmachen

ich fuege das dann evtl. hier spaeter ein ...

--------------------------
http://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?tid=9086

https://groups.google.com/forum/m/#!topic/fishcooking/z2sd39wrUvw

setoption name hash value 1024

-------------------------------------------
Parent - - By Peter Martan Date 2017-08-01 13:11 Edited 2017-08-01 13:14
Guenter Stertenbrink schrieb:

ok, der Fehler ist anscheinend, dass die Groesse der gespeicherten hash-datei kein Vielfaches
von 1MB ist. Wenn ich die Groesse aendere/editiere durch Loeschen/Hinzufuegen von Bytes,
sodass sie ein Vielfaches von 1048576 ist, dann kann ich sie laden mit setoption name ttload ,
nach vorheriger Bestimmung des Pfades , [Android-Linux-Kommandozeile, keine GUI]
z.B. setoption name ttfile value /storage/sdcard0/kbox_home/hash7

ich weiss zur Zeit noch nicht, ob bei erneuter Analyse dann auch das alte Hash
tatsaechlich verwendet wird und ob die geaenderten Bytes was ausmachen


Ein Vielfaches von 1Mb?

Ich glaube trotzdem zu wissen, was du meinst, aber sicher bin ich mir nicht, stelle aber jedenfalls sowieso immer nur 2er Potenzen von 1024 Mb ein, anders lässt's beim asmFish ja das GUI auch gar nicht zu, nämlich die Zuteilung von Hash ist automatisch immer ein solches Vielfaches.

Über Android kann ich nicht mitreden, aber beim asmFish für Windows speichert und lädt der UCI- Befehl, was die Dateigröße im Explorer angeht, nur scheinbar wirklich den beim Menübefehl aktuellen Hash.

Shredder- GUI zählt ja sogar beim Speichern und Reload die Dateigröße schritteise herunter, trotzdem werden Hashinhalte und Evals, wie sie am Output beim Funktionieren dieser Option sofort ablesbar sind bei entsprechend eindeutigen Stellungen, ganz offenbar nicht gespeichert und oder nicht wieder geladen.

Bei komodo geht das Speichern im Fritz nicht, ok, weiß man, und kann man damit leben, wenn man's weiß, Einlesen von im Shredder- GUI Gespeichertem geht aber im Fritz schon auch, und mit Houdini ist's überhaupt kein Problem.

AsmFisch tut hingegen meiner Meinung nach nur so, als würde er wirklich aktuellen kompletten Hash speichern, oder er löscht beim Speichern den letzten Hash aus dem Arbeitsspeicher und speichert eine gleich große "leere" Datenmenge, jedenfalls hab ich auf meinem Windows- Rechner (ist noch Win7x64Pro) vom Hashspeichern mit dem asmFisch nix, nicht im Fritz und nicht im Shredder, bei anderen GUIs hab ich's noch nicht probiert.
Parent - - By Guenter Stertenbrink Date 2017-08-05 20:14
neue Version vom 5.August korrigiert die asmfish  Hash - Probleme

lantonov commented 2 hours ago

The bugs in the ttload/ttsave functions were fixed by @tthsqe12 with commit 222d48c .
The executables of 05Aug contain these bug fixes
Parent - - By Peter Martan Date 2017-08-06 00:08
Guenter Stertenbrink schrieb:

neue Version vom 5.August korrigiert die asmfish  Hash - Probleme

lantonov commented 2 hours ago

The bugs in the ttload/ttsave functions were fixed by @tthsqe12 with commit 222d48c .
The executables of 05Aug contain these bug fixes


Danke Günter!
Ich sehe bisher leider nur die 2 Tage älteren Compiles hier
https://github.com/lantonov/asmFish/tree/executables/Windows
Parent - - By Guenter Stertenbrink Date 2017-08-06 04:49
asmFishW_2017-08-05_base.exe   Add files via upload   10 hours ago
  asmFishW_2017-08-05_bmi2.exe   Add files via upload   10 hours ago
  asmFishW_2017-08-05_popcnt.exe   Add files via upload   10 hours ago
Parent - - By Peter Martan Date 2017-08-06 11:19
Uups, anscheinend einfach übersehen.
Funktioniert jetzt wirklich, 8G problemlos gespeichert (dauert halt ein Weilchen, scheint mir länger als bei komodo oder Houdini, weiß es aber nicht sicher, weil die Anzeige im Explorer ziemlich hin und her ging mit der File- Größe, vielleicht war das Speichern eh schon durch und die Aktualisierung der Anzeige hat länger gewackelt) und wieder geladen, schwer zu findender best move sofort (das Laden war sicher noch nicht abgeschlossen, aber asmFisch fängt sofort nach dem GUI- Befehl wieder zu rechnen an) wieder oben im Output.
Parent - - By Klaus S. Date 2017-08-06 14:10
Hallo Peter,

geht es nur im Shr-GUI und Arena, oder jetzt auch in Fritz/Chessbase?

Ich bin noch nicht dazu gekommen es selber auszuprobieren.
Parent - - By Peter Martan Date 2017-08-06 14:24
Hallo Klaus!
Ich hab's nur im Fritz14 probiert, dort hat's funktioniert.
Parent - By Klaus S. Date 2017-08-06 16:09
Danke.
Parent - - By Peter Martan Date 2017-07-30 20:10
Löscht du vor dem Wiederladen den Hash mit dem entsprechenden GUI- Befehl? (Die Engine oder die Stellung erst vor dem Load Hash zu laden, geht auch, macht man ja aber normaler Weise auch nicht unbedingt.) Wenn nicht, probier's mal.
Bei komodo ist das essentiell, und schaden kann's bei den anderen Engines sicher auch nicht.
Parent - - By Peter Martan Date 2017-07-30 22:07 Edited 2017-07-30 22:31
P.S. Mit komodo 11.2.2 geht's bei mir eh schon wieder nicht. Mit komodo war's ohnehin auch immer ein Problem für sich, schon vor langer Zeit hab ich mit Mark Lefler darüber ein paar Mails gewechselt, er war sich des chesssbase-GUI-Problems bewusst, damit ging's immer wieder nicht, neu zu laden, man konnte speichern aber das Wiederaufrufen hat zuverlässig nach Hashlöschen im Shredder funktioniert und im Arena, im Fritz war's immer Glückssache, momentan lädt bei mir weder Shredder noch Arena den gespeicherten komodo- Hash neu, wenn man ihn im Fritz gespeichert hat, auch wenn die Dateigröße im Explorer richtig angezeigt wird.
Dafür kann man im Fritz den Hash, den man im Shredder gespeichert hat, laden, wenn man die Hashtabellen vorher gelöscht hat.
Parent - By Peter Unger Date 2017-07-31 17:33
Ich fand folgenden Hinweis interessant, der mich zu der Entscheidung bringt, die Sache mit PH vorläufig aufzugeben. Der letzte Satz sagt mir alles.
"Sometimes some key positions are overwritten, and the engine loses a clear path to whatever has achieved previously. So yes, the successfulness or this hash saving feature is a bit random. This result is inherent to this functionality, is not that there's a bug.
So something more advanced is necessary to have more reliability."
http://www.talkchess.com/forum/viewtopic.php?t=64720&start=30
Parent - - By Peter Unger Date 2017-08-03 14:18
Peter Martan schrieb:

Löschst du vor dem Wiederladen den Hash mit dem entsprechenden GUI- Befehl? (Die Engine oder die Stellung erst vor dem Load Hash zu laden, geht auch, macht man ja aber normaler Weise auch nicht unbedingt.) Wenn nicht, probier's mal.
Bei komodo ist das essentiell, und schaden kann's bei den anderen Engines sicher auch nicht.


I lösche den Hash - nach vielen Hinweisen im talkchess-Forum bin ich nun soweit, dass mit der engine "stockfish_x64_modern_170724_savehash.exe" und Aquarium 2017 die Sache ganz hilfreich für die Anayse von Postionen ist (Ich binde das in IDEA von Aquarium ein, indem ich die infinitive Analyse ins Idea-Projekt exportiere.

Nun noch eine Frage an den Praktiker: Wenn ich z.B. Zugtiefe 40 als Ziel habe, ist es dann besser 2 GB Hash zu nehmen oder reicht 1 GB? Und was mir immer noch nicht ganz klar ist - vielleicht gibt es hierzu von dir da Erfahrungswerte  - wie lange dauert das Laden des Hash-files? Ist man z.B. bei 1 GB mit 60 sek. auf der sicheren Seite (ich speichere auf einer SSD)?
Parent - - By Peter Martan Date 2017-08-03 16:14 Edited 2017-08-03 16:49
Peter Unger schrieb:

Wenn ich z.B. Zugtiefe 40 als Ziel habe, ist es dann besser 2 GB Hash zu nehmen oder reicht 1 GB? Und was mir immer noch nicht ganz klar ist - vielleicht gibt es hierzu von dir da Erfahrungswerte  - wie lange dauert das Laden des Hash-files? Ist man z.B. bei 1 GB mit 60 sek. auf der sicheren Seite (ich speichere auf einer SSD)?

2GB ist immer besser als 1 bei halbwegs moderner Hardware, du hast einfach schneller mehr Tiefe, wenn mal hash full erreicht ist, was du ja nach dem Reload praktisch gleich wieder hast.
Und das Wiederladen braucht ebenso wie das Speichern nur jeweils am Ende und am Wiederanfang Zeit, ist es erst mal wieder abgeschlossen, läuft die Analysezeit genau so wie beim "selbst errechneten" Hash.
Ich hab auch SSD, und 2G brauchen vielleicht eine halbe Minute zum Speichern. Über 2G geht bei mir im Win7x64Pro (ich glaube nicht, dass es am Windows liegt) mit dem SF- Branch von Daniel Jose, den du auch verwendest, ohnehin nicht, hab das auch schon im CCC gepostet, aber noch keine Antwort gesehen.

H5 oder komodo brauchen bei 8G (mehr leg ich praktisch auch nie ab) schon vielleicht 2 Minuten zum Speichern. Das Wiederladen geht eher etwas schneller, ich nehme an, weil lesen schneller ist als schreiben.

Edit: Was natürlich auch sein kann, dass es beim Jose- SF zwar über 2G auch funktioniert, aber unnatürlich lang dauert, weil es sich irgendwo aufhängt. Länger als 2 Minuten, wenn das bei H5 für 8G reicht, kann nicht sein, wenn's kein bug ist.
Parent - - By Peter Unger Date 2017-08-19 23:07
Funktioniert bei dir die neueste saving-hash-exe mit der epd-file Funktion? Bei mir nämlich (vermuutlich) nicht. Zwar wird das hash-file unter Fritz 15 schnell gespeichert ( 2 GB), aber das Laden scheint nicht richtig zu funktionieren. Die Suchtiefe (z.B. 37) wird nicht signifikant schnell erreicht. Wie kann mann den feststellen, ob das hashfile richtig geladen ist?
Ich gehe so vor unter Fritz 15: Ich klicke auf engine anhalten, dann auf engine, dann auf Parameter, dann auf savehashtofile (dauert keine 3-5 Sek.). Dann fahre ich Fritz 15 herunter. Lade die GUI erneut bis zur Stellung; rufe loadhashfile auf und warte (leider kann ich ja nirgends sehen, ob das Laden erfolgreich war). Also warte ich so ein halbe Minute und werfe dann die eingine an, die nun allerdings nicht signifikant schnell bei der Beispielsuchtiefe 37 ist. In Aquarium habe ich ein ähnliches Problem. In keiner GUI kann man erkennen, wann das Laden erfolgeich war. Hast du dazu eine Tipp oder mache ich etwas falsch?
Parent - - By Peter Martan Date 2017-08-20 06:34 Edited 2017-08-20 06:53
Die neue Funktion zum .epd- Laden habe ich noch nicht probiert, auch habe ich den Sinn noch nicht ganz erfasst. Wenn das nur Stellungen sind ohne entsprechende Bewertung durch die Engine, was hat die dann davon?
Wann das Hash- Laden abgeschlossen ist, weiß man tatsächlich nicht genau, so lange aber die Engine damit beschäftigt ist, rechnet sie ohnehin entweder gar nicht oder langsamer, im Task Manager siehst du eine CPU- Leistung der Engine, auch wenn du das Rechnen von ihr noch nicht wieder gestartet hast.
Die Suchtiefe sollte sehr wohl früher wieder tiefer sein als von Null an, und vor Allem sollte der Output von Anfang an sehr ähnlich sein dem vor dem Speichern.
Am besten nimm eine eindeutige best move Stellung mit nicht zu leichter Lösung, für die die Engine leer eine Weile braucht, hat sie den richtigen best move stabil im Output, sollte das nach dem Neuladen auch praktisch sofort wieder so sein.
Ein halbe Minute sollte für 2 G mehr als genug sein, zumindest für eine SSD und schnellen RAM.
Parent - - By Peter Unger Date 2017-08-20 13:39
R. Leoni schrieb im talk-chess-Forum: "Maybe a message "hashes loaded/hashes saved" is useful to be sure about it.." Das ist genau das, was wir brauchen.
Parent - By Peter Martan Date 2017-08-20 16:24
Ja, das wär nicht schlecht. Und was das Laden von .epds angeht, soll es sich natürlich um solche handeln, die schon bewertet sind.
Da wüsste ich dann halt wieder gerne (als Engine ), von welcher anderen Engine in welcher Tiefe mit welchen Alternativzügen in welcher Sortierung und Evalrelation zueinander. Mit anderen Worten, was kann die Engine wirklich mit solchen einzelnen vorbewerteten Stellungen anfangen?
Fragen über Fragen, die alle nur ein Programmierer beantworten könnte, möglichst einer, der sich mit genau den Code- Stellen beschäftigt hat, um die's hier geht.
Up Topic Hauptforen / CSS-Forum / Persistent Hash - welche engines aus 2017 können es?

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill