Ryzen Threadripper 2990WX Schach Performance

Das Undervolten funktioniert tatsächlich jetzt ganz gut. Ich erreiche bei eingestellten 1.0685V (gibt knapp 1,02V unter Last) 3,7 GHz. Dabei ist er mit Houdini ~80 MN/s schnell und bleibt ganz knapp unter dem power limit.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
:bigok::bigok::bigok:

Hab mir doch gedacht, dass da was nicht stimmen kann ;)
 
Noch ein Nachtrag incl. Warnung:
Bei asmFish gehen die MN/s nach einiger Zeit (geschätzt 40 min.) total in den Keller. Wenn man während die erste Instanz noch läuft eine 2. startet und dann die 1. schließt (Sinn: Dauervolllast ohne die geringste Unterbrechung) stimmt die Performance der 2. Instanz. Allerding nur solange, bis wieder die gleiche Zeit vergangen ist. :(
Bei Houdini tritt das nicht auf, ebensowenig auf dem zum Vergleich genutzten Xeon Rechner mit 2x E5-2683v3. Eine sinnvolle Erklärung fehlt mir noch. Ich werde (wenn ich die Zeit finde) am Wochenende den Test mal mit meinem uralten 4 x Xeon E5-4650 Rechner wiederholen - der hat auch 4 NUMA Nodes wie der Threadripper.
 
Da würde ich mal eher die Entwickler anschreiben, ob sie sich darauf einen Reim machen können. Wie siehts denn mit der Auslastung ab den 40min aus?
 
Da ist alles bei 100%, HWinfo sagt volle Frequenz, volle Leistung, normaler Verbrauch unter dem power limit. Der task manager sagt auch 100%. Der Effekt tritt bei 3,4 wie auch bei 3,6 GHz auf.
 
Noch ein Nachtrag incl. Warnung:
Bei asmFish gehen die MN/s nach einiger Zeit (geschätzt 40 min.) total in den Keller. Wenn man während die erste Instanz noch läuft eine 2. startet und dann die 1. schließt (Sinn: Dauervolllast ohne die geringste Unterbrechung) stimmt die Performance der 2. Instanz. Allerding nur solange, bis wieder die gleiche Zeit vergangen ist. :(
Bei Houdini tritt das nicht auf, ebensowenig auf dem zum Vergleich genutzten Xeon Rechner mit 2x E5-2683v3. Eine sinnvolle Erklärung fehlt mir noch. Ich werde (wenn ich die Zeit finde) am Wochenende den Test mal mit meinem uralten 4 x Xeon E5-4650 Rechner wiederholen - der hat auch 4 NUMA Nodes wie der Threadripper.
Hi Kullberg,
ist das jeweils die gleiche QuelleasmFish.exe, schon mal probiert eine Kopie zu erstellen und unabhängige Quellen laufen zu lassen?
Evt. liegt es an der Priorisierung so dass die erste Instanz mehr Rechenleistung bekommt.

Bezüglich SMT und Game Mode hast du noch nichts getestet?

Edit: Die Implementierung von SMT ist AMD besser gelungen als Intel, daher frage ich jetzt schon zum dritten mal. ;)
 
Zuletzt bearbeitet:
Die beiden Instanzen laufen nur wenige Sekunden gleichzeitig, nur um nen nahtlosen Übergang hinzukriegen unter Last. Das Problem tritt ja auf, während nur die erste Instanz läuft. Und sobald die 2. läuft, wird die Erste ausgeschaltet. SMT ist immer an, sonst verschenkt man Rechenleistung. Und Game mode kann nicht gut sein, beim Schach braucht man möglichst viele Cores.
 
Die beiden Instanzen laufen nur wenige Sekunden gleichzeitig, nur um nen nahtlosen Übergang hinzukriegen unter Last. Das Problem tritt ja auf, während nur die erste Instanz läuft. Und sobald die 2. läuft, wird die Erste ausgeschaltet. SMT ist immer an, sonst verschenkt man Rechenleistung. Und Game mode kann nicht gut sein, beim Schach braucht man möglichst viele Cores.
Ok und wie bekommst du diesen Wechsel hin, startest du es zwei mal von Hand oder nutzt du ein script/batch ?
Kann es sein, dass der Bench auch was auf die Platten schreibt, oder läuft der nur im RAM?
ProcessLasso kann da mehr auskunft geben als der Taskmanager.
Gerne auch mit Remote Einführung/Erklärung meinerseits. ;)
 
Das wird (weil ich zu faul bin es von Hand zu starten) über ein Tool, was ich in C++ geschrieben habe, gestartet. Das Tool checkt, wieviele Cores vorhanden sind, startet die engine und macht automatisch die wichtigsten Einstellungen: hash, large pages, Anzahl der Threads und es setzt die Priorität der engine. Dann gibt es den Befehl "isready", der dafür sorgt, dass die engine hash Größe und Erfolg oder Misserfolg beim allozieren der large pages anzeigt sowie die Zuordnung der Cores zu den NUMA nodes. Es kann auch logfiles schreiben und affinities setzen, beides ist aber aus. Also wird nichts geschrieben, alles läuft im RAM. Nur den letzten Befehl - z.B. "go depth 40" gebe ich von Hand ein. Dieser Befehl bringt die engine dazu, bis zu einer Tiefe von 40 Halbzügen zu rechnen, was je nach Computer und engine mehrere Stunden (bis Tage) dauern kann. Sobald der Befehl gegeben wurde, ist die CPU Last durchgängig bei 100%.
 
Das wird (weil ich zu faul bin es von Hand zu starten) über ein Tool, was ich in C++ geschrieben habe, gestartet. Das Tool checkt, wieviele Cores vorhanden sind, startet die engine und macht automatisch die wichtigsten Einstellungen: hash, large pages, Anzahl der Threads und es setzt die Priorität der engine. Dann gibt es den Befehl "isready", der dafür sorgt, dass die engine hash Größe und Erfolg oder Misserfolg beim allozieren der large pages anzeigt sowie die Zuordnung der Cores zu den NUMA nodes. Es kann auch logfiles schreiben und affinities setzen, beides ist aber aus. Also wird nichts geschrieben, alles läuft im RAM. Nur den letzten Befehl - z.B. "go depth 40" gebe ich von Hand ein. Dieser Befehl bringt die engine dazu, bis zu einer Tiefe von 40 Halbzügen zu rechnen, was je nach Computer und engine mehrere Stunden (bis Tage) dauern kann. Sobald der Befehl gegeben wurde, ist die CPU Last durchgängig bei 100%.
:cool: Verstehe, du bastelst dir das selbst zusammen.
Ok, wenn es nicht auf die Platten schreibt, wird es etwas anderes sein.
Speicher Allocation oder Threadhopping, logfile schreiben hört sich nicht verkehrt nicht. ;)
 
Update: bei meinem alten 4x Xeon E5-4650 Rechner brechen die MN/s nicht ein - es liegt also nicht an den 4 NUMA nodes. An Speicher allocation kann es eigentlich nicht liegen - die Engine alloziert alles was sie braucht am Anfang. Ausnahme: bei Nutzung von tablebases = Endspieltabellen werden die gecached - aber für die Tests sind die aus. Threadhopping kann es nicht sein: die besseren engines, also Houdini und asmFish, setzen selbst affinities. Und wieso sollte das nur beim Threadripper passieren?
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh