Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Cfish 28112020
- - By Eduard Nemeth Date 2020-11-28 20:25 Edited 2020-11-28 20:29
ChessMan compilations of Cfish 281120 x32-x64

Updated to "use classical for certain endgames". …
syzygy1 committed 4 hours ago

Updated to "Calculate sum from first elements". …
syzygy1 committed 4 hours ago

Updated to "Assorted search and eval parameter tune". …
syzygy1 committed 5 hours ago

More elegant initialisation of Binomial[][] array.
syzygy1 committed 6 days ago

Download: https://pixeldrain.com/u/TCQiPjRg

(Den Quellcode gibt es auf Github
https://github.com/syzygy1/Cfish/tree/f9368bf77ed5a596dbcd39e68fa4d292e4860d58)
Parent - - By K. Ortwein Date 2020-11-29 09:36
Kann mir mal bitte jemand erklären, wie die Begriffe SPARSE (bedeutet wohl spärlich !?) und MINGW10 bei den einzelnen CFish-Versionen zu definieren sind ?
Wollte den CFish i.V.m. mit einem Ryzen und AVX2 benutzen.
THX schon mal für die Hilfestellung.
Parent - - By Alexander Holzhaeuser Date 2020-11-29 10:46
Ich würde auch begrüßen, falls jemand sich da gut auskennt, welche Versionen für welche Prozessoren geeignet sind bzw. und warum. Bei Cfish ist extrem:
- x32_E_SSE2
- x32_E_SSE2_sparse
- x32_E_SSE41
- x32_E_SSE41_sparse
- x32_E_SSSE3
- x32_E_SSSE3_sparse
- x64_E_AVX_mingw_10
- x64_E_AVX_sparse_mingw_10
- x64_E_AVX2_mingw_10
- x64_E_AVX2_sparse_mingw_10
- x64_E_AVX2_Ryzen_mingw_10
- x64_E_AVX2_Ryzen_sparse_mingw_10
- x64_E_BMI2_mingw_10
- x64_E_BMI2_no_NUMA_mingw_10
- x64_E_BMI2_sparse_mingw_10
- x64_E_BMI2_sparse_no_NUMA_mingw_10
uns so geht es weiter mit
- SSE2
- SSE41
- SSSE3

muss ja ein Grund geben, warum die Programmierer diese Differenzieren anbieten.

Danke
Parent - - By K. Ortwein Date 2020-11-29 10:55 Edited 2020-11-29 10:58
Naja, die bisher zur Verfügung gestellten Versionen unterschieden sich ja einmal durch das Betriebssystem 32/64 Bit und dann noch von den vorhandenen bzw. möglichen Befehlsstrukturen (SSE2, BMI2, AVX2 etc) der CPUs.
Dies hatte wohl zur Folge, dass die Programme von den jeweils neueren Prozessoren schneller verarbeitet werden konnten.
Hierfür am besten mal die Daten der jeweiligen CPU gugln ... dort sieht man deren Befehlstrukturen.
Aber die neuen Bezeichnungen vom CFish sind mir noch ein Rätsel (sparse und mingw_10).
Parent - By Eduard Nemeth Date 2020-11-29 11:15 Edited 2020-11-29 11:18
Die sparse Version soll speziell auf neueren Ryzen Prozessoren eine Tick schneller sein.

Wer also einen Ryzen 3900x hat, sollte die Version "AVX2 Ryzen sparse" nehmen.

Auf meinem Ryzen 3900X macht der Cfish in Einstellung Hybrid ziemlich genau 26000 kns in der Grundstellung auf 12 Kernen.

Diese neuere Version ist übrigens klasse, ist stärker als der Vorgänger, sowohl bei meinen Tests als auch beim Onlinespiel. Hoffe deshalb dass bald auch eine EXT Version herauskommt.
Parent - - By Thomas Plaschke Date 2020-11-29 11:25
Der c/c++ -Compiler, mit dem die Programmdatei erstellt wurde, heißt minGW. Das ist die Windows-Version des GNU-C++ -Compilers. Der wurde in der Version 10.2 verwendet.

"sparse"-Programmversion benutzen eine alternative NNUE-Implementation, die auf älteren CPUs (ohne AVX2-Unterstützung und AMD-CPUs vor Zen3) mehr nps bringen soll.

Welche Version auf dem eigenen PC die schnellste ist, kann man über den Vergleich des eingebauten Benchmark-Tests bestimmen. Wie das geht wurde hier im Forum schon häufig beschrieben.

Viele Grüße
Th. Plaschke
Parent - - By Peter Martan Date 2020-11-30 13:06
Thomas Plaschke schrieb:

"sparse"-Programmversion benutzen eine alternative NNUE-Implementation, die auf älteren CPUs (ohne AVX2-Unterstützung und AMD-CPUs vor Zen3) mehr nps bringen soll.

Ich persönlich glaube, dass gerade die avx2- compiles von sparse profitieren, was ich so dazu gelesen habe, Eduard bestätigt das auch für seinen Ryzen.
Hingegen ist bei den SSE4.1 popcnt- compiles auf meiner alten Xeon X5670 CPU non sparse immer eine Spur schneller im Benchmark als sparse.
ChessMan, von dem Compiles im Outskirts stammen, bestätigt das auch prinzipiell so, aber Ausprobieren in der Konsole mit bench ist der schnellste Weg, es für den eigenen Rechner herauszufinden.
Und wenn ein Compile gar nicht passt, lässt es sich ohnehin nicht starten, das ist vor allem gut zu wissen, bevor man es unnötig zu installieren versucht.
Parent - - By Thomas Plaschke Date 2020-11-30 14:04
Ich habe eine Skylake-CPU und kompiliere Cfish als BMI2-Version. Die Alternative AVX512 ist bei mir langsamer. Die Frage nach "sparse" stellt sich bei dieser CPU mE nicht. Ich habe in dem Post nur versucht, die Erklärung von der Cfish-Seite sinngemäß wiederzugeben.

Viele Grüße
Th. Plaschke
Parent - - By Peter Martan Date 2020-11-30 14:14 Edited 2020-11-30 14:17
Alles klar, Thomas, danke.
Dennoch, hast du die sparse- Variante der bmi2- Compiles schon probiert? Was ich so gelesen habe, soll bmi2 (selbst oder gerade avx512) sehr wohl auch von sparse profitieren.
Parent - - By Thomas Plaschke Date 2020-11-30 17:40
Danke für die Anregung.

Zunächst habe ich festgestellt, dass sparse im Makefile von Cfish voreingestellt ist. Ich habe also immer Cfish-sparse-Kompilate genutzt
Dann habe ich die Wirkung der Einstellung auf bmi2- und avx512-Kompilate mit BuildTester bei 8 Testläufen verglichen. Bei 1 Thread lag minimal avx512-sparse vor avx512-noSparse (0,3%). Danach folgte bmi2-sparse (-1,5%). Bei der maximal möglichen Zahl an Threads sind bmi2-sparse und avx512-noSparse Kopf an Kopf (0,12% Unterschied).

Normalerweise teste ich die Geschwindigkeit nicht mit BuildTester, sondern erst an der Eingabeaufforderung und dann in Arena im direkten Vergleich der Kompilate. Bei diesen Tests war die sparse-bmi2-Version immer im Vorteil - gegenüber der sparse-avx512.

Viele Grüße
Th. Plaschke
Parent - By Peter Martan Date 2020-11-30 17:59
Danke!
Parent - - By Detlef Uter Date 2020-11-30 18:02
Ich habe auch eine Skylake CPU, und bei mir ist die Sf EXT BMI2 sparse
Version gegenueber den non sparse Versionen von Sf EXT und dem
Cfish und der Cfish BMI sparse Version am schnellsten, wenn auch
nur minimal.

AVX512 verursacht bei mir schon nach kurzer Zeit einen Blue-Screen,
auch bei der Benutzung von EMAN.

Aber, da habe ich ja nach Deinen Tests nicht alzuviel vepasst.
Was fürn Glueck! 
Parent - - By Peter Martan Date 2020-11-30 18:04
Detlef Uter schrieb:

AVX512 verursacht bei mir schon nach kurzer Zeit einen Blue-Screen,
auch bei der Benutzung von EMAN.

Du meinst mit Green NN?
Parent - - By Detlef Uter Date 2020-11-30 18:19
Nein - die Kiste schmiert schon nach ganz kurzer Rechenzeit ab,
und erzeugt dabei den beruemt beruechtigten Blue-Screen, in dem
dann die Absturzursache mehr oder weniger verstaendlich
beschrieben wird.

Ich war bis jetzt aber zu faul, der Sache naeher auf den Grund zu
gehen.

Da muss ich wohl im UEFI-BIOS noch irgendwelche Anpassungen
vornemen.
Parent - By Peter Martan Date 2020-11-30 18:32
Also, wenn's ausgerechnet die avx512- Compiles sind, würde ich auf Hitze tippen.
Dazu (um sie zu minimieren) hat Eman das Green NN, probier's mal, wenn's damit weniger schnell abkackt, wird's wohl thermisch sein.
Parent - - By Thomas Plaschke Date 2020-11-30 18:35
Du hast eine 7980 (18 Kerne+HT)? Die habe ich auch. Die avx512-Versionen laufen bei mir stabil. Übertaktest  Du? Für die avx512-Unit kann man den Takt extra einstellen. Dann vllt etwas senken.

VG Th. Plaschke
Parent - - By Detlef Uter Date 2020-11-30 19:00
Genau - meine Kiste läuft stabil mit einer Übertaktung auf 4,2 GHz bei Verwendung
von allen Threads.

Allerdings wohl nicht mit der Befehlserweiterung AVX512.
Dafür habe ich bei der Übertaktung laut Empfehlung irgendwo im UEFI-BIOS den Wert 2
eingetragen, den ich dann wohl doch noch irgendwie anpassen muss.
Aber, wie gesagt, bin bis jetzt dazu viel zu faul gewesen. 
Aber falls Du da noch irgendwelche Empfehlungen für mich hast? - immer her damit! 

Groß
Detti
Parent - - By Thomas Plaschke Date 2020-11-30 21:08 Upvotes 2

>Dafür habe ich bei der Übertaktung laut Empfehlung irgendwo im UEFI-BIOS den Wert 2


Bei meinem Mainboard (ASUS WS X299 PRO) sind zwei Werte einzutragen: 1. AVX Instruction Core ratio negative Offset und 2. AVX-512 Instruction Core ratio negative Offset. Diese Werte werden vom CPU-Takt-Multiplikator abgezogen und ergeben dann den Takt-Multiplikator für die AVX-Einheiten, vermute ich mal. Für 4 GHz (CPU-Multiplikator 40) waren diese Werte vom Fachmann für 1. auf 3 und für 2. auf 5 gesetzt. Für 4,2 GHz (CPU-Multiplikator 42) habe ich die Werte auf 5 und 7 geändert. Das lief, ich habe allerdings keine explizite AVX512-Anwendung laufen lassen. Die Übertaktung brachte mir im Verhältnis zu Stromverbrauch, Wärme- und Geräuschentwicklung nicht genug Kompensation, sodass ich den PC schnell wieder auf Normaltakt (CPU-Multiplikator 34) gesetzt habe.

Viele Grüße
Th. Plaschke
Parent - By Detlef Uter Date 2020-11-30 21:36
Achso ist das zu verstehen!
Tja - man lernt halt niemals aus! 

Bei mir sind beide Offset Werte auf 2 gesetzt.

Also, vielen Dank führ Deine Empfehlungen.
Werde ich gleich mal ausprobieren - also das mit den 5 und 7.
Denn - nun habe ich Blut geleckt.

Da meine Kiste sowieso ohne Unterbrechung rund um die Uhr
und fast immer auf dem Server läuft, auch und gerade mit Übertaktung,
ist mir alles andere aber sowas von egal, da mir beim Anblick
meiner immens hohen monatlichen Stromabschlagsbeträge
sowieso immer die Augen tränen.
     
Und da meine Kiste obendrein auch noch sau teuer war, soll sie
auch für mich ordentlich schuften mit dem Besten, was ich auf ihr
zum Laufen kriege.
   

Dankenswerte Grüße
Detti
Parent - - By Detlef Uter Date 2020-11-30 21:54
Hallo Thomas,

wie ich gerade festgestellt habe, enthalten die Cfish und CF EXT Versionen,
die man im Otskirt-Forum herunterladen kann überhaupt gar keine
AVX512 Kompilate, das kenne ich bisher nur vom lieben Khalid Omar
mit seinen EMAN ern


Gruß
Detti
Parent - By Thomas Plaschke Date 2020-11-30 21:59
Ich kompiliere mir die Cfish-Versionen selbst, deswegen habe ich die verschiedenen Versionen bei der Hand.

Viele Grüße
Th. Plaschke
Parent - By Peter Martan Date 2020-11-30 23:12 Edited 2020-11-30 23:15
Naja, Detlef, dass sie's nicht im Namen haben, heißt nicht, dass sie die Befehlssatz- Erweiterungen nicht unterstützen. Das müsstest du im Code nachlesen und den fragen, der die Kompilate erstellt, je nachdem welche Flags er im Compiler wählt.
Parent - - By Detlef Uter Date 2020-11-30 23:55 Upvotes 1
Hurraaa! - Hat funzionuckelt -
also das mit der 5 und der 7. 

Zumindest lief damit EMAN 6.60 AVX512 eine halbe Stunde lang stabil:

8 GB RAM mit 36 Threads bei 18 Kernen auf 4,2 GHz übertaktet. (Intel Core I9 7980XE)

          rund 27.600 kN/s nach einer Minute Rechenzeit aus der Grundstellung - EMAN 6.60  BMI2     24.11.20 - Use MNUE  EvalFile = nn-62ef826d1a6d.nnue + Eman.exp
                                                                                                                                                                                 Contempt =  0  Move Overhead = 600  Slow Mover = 112
                                                                                                                                                                                 SyzygyProbeDepth = 2  SyzygyProbeLimet = 6 + Syzygy50MoveRule   

          rund 28.300 kN/s nach einer Minute Rechenzeit aus der Grundstellung - EMAN 6.60 AVX512  24.11.20 - Use MNUE  EvalFile = nn-62ef826d1a6d.nnue + Eman.exp
                                                                                                                                                                                 Contempt =  0  Move Overhead = 600  Slow Mover = 112
                                                                                                                                                                                 SyzygyProbeDepth = 2  SyzygyProbeLimet = 6 + Syzygy50MoveRule

Aber nur popilige 2,54 % Geschwindigkeitssteigerung bei der AVG512 Version macht den Kohl ja auch nicht gerade fett. 

Viele Dank nochmal für Deine tatkräftige Hilfe
Detti
Parent - - By Thomas Plaschke Date 2020-11-30 23:58
Freut mich.
Hoffentlich ist es auch auf Dauer stabil.

VG
Th. Plaschke
Parent - - By Detlef Uter Date 2020-12-01 00:33
Naja - wenn Du mir das neuste Cf EXT sparse AVX512 Kompilat vom 29.11.
zukommen lassen könntest, vielleicht über meine E-Mail-Adresse,
die Du aus meinem Profil entnehmen kannst, wäre ich nicht abgeneigt,
das ganze mal auszuprobieren.

Da aber auch die EMAN 6.60 AVX512 Version langsamer ist, als die
CF EXT sparse BMI2 Version, werde ich vorläufig weiterhin damit auf
dem ChessBase-Server mein Glück versuchen.

Gruß
Detti
Parent - - By Thomas Plaschke Date 2020-12-01 21:01
Die Cf EXT Quellcodes habe ich nicht und kenne auch keine Quelle. Alternativ könnte ich Dir den "normalen" Cfish in einer sparse AVX512-Version anbieten.

VG Th. Plaschke
Parent - - By Eduard Nemeth Date 2020-12-01 21:04
Merge pull request #173 from lonfom169/patch …
syzygy1 committed 5 hours ago

fix typos
lonfom169 committed 11 hours ago

Update README.md
syzygy1 committed 12 hours ago

Updated to "use classical for certain endgames". …
syzygy1 committed yesterday

Updated to "Calculate sum from first elements". …
syzygy1 committed yesterday

Updated to "Assorted search and eval parameter tune". …
syzygy1 committed yesterday

More elegant initialisation of Binomial[][] array.
syzygy1 committed 7 days ago

Cfish_EXT_29112020 x32-x64
https://filehorst.de/d/dBzFfcnp
Parent - By Thomas Plaschke Date 2020-12-01 22:20
Vielen Dank, Eduard.
Deti hat jetzt Post
VG Th. Plaschke
Parent - - By Eduard Nemeth Date 2020-11-29 12:17
Die Android Versionen arm7 und arm8 gibt es auch schon. Ich habe sie hier (samt Quellcode) hochgeladen:
https://filehorst.de/d/dhuljwbv
Parent - By Eduard Nemeth Date 2020-11-30 12:48
Es gibt eine neue Cfish Version vom 30.11.2020. Ich habe den aktuellen Quellcode beigefügt und hier hochgeladen:

https://filehorst.de/d/dqkEsowu

Es gibt einige kleinere Neuerungen, und auch das Standard-Netz ist nun ein neueres. Ich persönlich verwende lieber den Cfish_EXT beim Spielen auf dem Server. Für die Analyse könnte die neuste Version aber besser sein.
Up Topic Hauptforen / CSS-Forum / Cfish 28112020

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill