Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Stockfish compilieren
- - By Dieter Kraft Date 2014-12-07 16:52
Hallo,

Da ich im Stockfish-Forum bisher keine Antwort gefunden habe, erlaube ich mir,
die Frage hier nochmals zu stellen:
"Kann man die Development Versionen von Stockfish unter cygwin64 compilieren?
Wenn ja, welchen Nachteil (in bezug auf die Effizienz/Schnelligkeit) hat das exe-file
gegenüber den "offiziellen" Compilaten?"


Dank und Gruß
Dieter Kraft
Parent - - By tobias Date 2014-12-09 17:37
Hallo Dieter,

ich habe ein Zeit lang meinen Stockfish selber compiliert, um einen kleinen Vorteil auf playchess zu erhalten, da gute Verbesserungen nicht sofort auf abrok.eu verfügbar sind.

Angefangen habe ich mit mingw, welches ja anscheinend selbst ein Teil von cygwin ist.
Geholfen hat mir am Anfang die folgende Anleitung: http://support.stockfishchess.org/kb/advanced-topics/compiling-stockfish-on-windows

Alternativ zu gcc 472 können auch beliebige neuere Versionen benutzt werden.

Später habe ich dann mit dem BYO-Skript gearbeitet. https://www.dropbox.com/sh/4rubami2nvldcoo/AADt869Z0vfQL4-z5dnft7y9a/BYO?dl=0
Dabei kann man entweder mit der exe arbeiten oder man kann sie mit 7zip entpacken und sich das darin versteckte Skript anschauen. Ich kann aber nicht sagen, ob BYO nach den neusten Veränderungen am Syzygy-Code noch funktioniert oder ob es einer Anpassung bedarf.

Die beste Schnelligkeit habe ich in den meisten Fällen durch das BYO-Skript erhalten. Maximal 3-4% mehr nps konnte ich so beobachten. Die Varianten mit mingw war meist minimal schneller als die von abrok.eu. Interessant hierbei ist, es mit den Compiler-Optionen zu experimentieren und die für den eigenen Computer schnellste Kombination zu finden.

https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html

Schöne Grüße
Parent - - By Dieter Kraft Date 2014-12-09 22:14
Hallo Tobias,

Deine Antwort (und auch die von Thomas) war sehr hilfreich, vielen Dank!
Inzwischen habe ich schon die neueste Version der Quellen compiliert, aber
noch nicht unter CB probiert.

Entwickelst Du an Stockfish mit? Wenn ja, kannst Du mir einen Tip geben,
wie ich mir am besten einen Überblick über die Programm-Struktur verschaffe.

Herzlichen Dank
und beste Grüße
Dieter
Parent - By tobias Date 2014-12-09 23:51
Ich kann zwar ein klein wenig Programmieren und habe sogar tatsächlich mal ein klein wenig an Stockfish gebastelt, aber keine meiner kleinen Spielereien habe ich je auf die Öffentlichkeit losgelassen. Vllt kann dir an dieser Stelle Jörg Oster weiterhelfen.

Um die Geschwindigkeit von verschiedenen Versionen zu testen bietet es sich an, den bench-Befehl jeweils mehrmals hintereinander auszuführen. Hier der entsprechende Auszug aus den Testing-Richtlinien:
https://groups.google.com/forum/?fromgroups=#!searchin/fishcooking/testing$20guidelines/fishcooking/gdfixOXME78/xPlY1QE1mbQJ
Code:

Speed optimization The prerequisite step is to measure a speed up in nps doing some repeated bench tests, and of course bench signature must remain the same. To do it in a reliable way is required to disable Intel Turbo Boost, turning it off from the BIOS settings. Then run bench with the following commands:

Under Windows:

start /B /REALTIME /AFFNITY 0x1 stockfish.exe bench 1>nul

Under Linux:

sudo nice -n -20 taskset -c 0 ./stockfish bench >/dev/null

Several runs (say 5) are needed, alternating original and new binary, and excluding
the fastest and the slowest.

In case the bench test confirms the speed up then, if the optimization does not increase code complexity, you can just publish the patch on the forum and report the result, and after an independent verification, patch will be committed. Instead if patch adds sensible complexity/ugliness then this is equivalent to any other standard patch that adds code for a gain and so shall be tested in the usual standard SPRT. The only difference is that in this case, because functionality is not changed, we don't require a second LTC step.

Inzwischen gibt es wohl auch schon Programme die diesen Vorgang unter Windows automatisieren. Unter Linux benutze ich momentan eine Abwandlung des folgenden Skripts:

http://www.open-chess.org/viewtopic.php?f=5&t=2557

Zum Abschluss noch eine kleine Sache mit der ich mich am Wochenende beschäftigt habe:

Ein Tuningversuch des folgenden Patches mit SPSA im Framework hat leider nicht geklappt.

http://tests.stockfishchess.org/tests/view/548038460ebc5973650f842c

Daher habe ich probiert, das ganze bei mir lokal via CLOP zu tunen. Ich habe aber nach ca. 3000 Partien bei 5+0.05s/Spiel die Geduld und den Spaß an der Sache verloren, weil  einfach kein Fortschritt zu sehen war und ich den Rechner anderweitig benötigte.

Trotzallem hoffe ich, dass du dich durch meine Schilderungen nicht Entmutigen lässt

Viele Grüße
Up Topic Hauptforen / CSS-Forum / Stockfish compilieren

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill