Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / hyperthreading cpu
- - By Robert Schlüter Date 2023-12-09 12:41 Upvotes 1
Vor ein paar Jahren gab es eine rege Diskusion ob HT Sinnvoll ist für Engine Schach, oder man es deaktivieren sollte !

Nun eine einhellige Meinug gab es damals nicht ( Habe dann auch aufgehört dieses Thema zu verfolgung )

Da jetzt ein paar Jahre ins Land gezogen sind zu diesem Thema

Würde ich jetzt gerne wissen, gibt es zu Hyperthreading gesicherte Erkenntnise ?

HT anlassen

HT besser deaktivieren

HT ist jeweils von der Engine abhängig !

Besten Dank für eure infomationen

Gruß R.Schlüter

Und ein schönes WE
Parent - - By Lothar Jung Date 2023-12-09 12:56 Upvotes 1
Das kann man nur mit Suites testen.
Vielleicht könnte Peter das mal testen.
Die kN/sec. gehen ohne Hyperthreading runter, aber vielleicht verbessert sich Lösungsanzahl.
Parent - - By Peter Martan Date 2023-12-10 11:02 Upvotes 1
Die 1001 aus dem anderen Thread (übrigens lauter UHO- Stellungen) mit je 8 Threads bei HT off und mit je 16 bei on (um wenigstens 2 Instanzen gleichzeitig laufen lassen zu können), unnötiger Weise auch Lc0 zum Vergleich, da aber bei beiden runs nur die default 2 CPU- Threads sowohl bei HT on als auch bei off:

    EPD  : 1001.epd
    Time : ms
                                                Max   Total   Time   Hash         
    Engine           Score   Found  Pos   ELO  Score   Rate    ms     Mb  Cpu     
1  SF231202         81480    841  1001  4189  87540  93.1%    200   128   16
2  SF231202         81370    848  1001  4185  87540  93.0%    200   128    8
3  SF15             80930    836  1001  4158  87540  92.4%    200   128    8
4  SF15             79670    812  1001  4095  87540  91.0%    200   128   16
5  Lc0a4877961- HT  79255    813  1001  4072  87540  90.5%    200     2    2
6  Lc0a4877961 off  79215    810  1001  4072  87540  90.5%    200     2    2
7  Dragon3.3        78590    806  1001  4041  87540  89.8%    200   128    8
8  Dragon3.3        78570    806  1001  4041  87540  89.8%    200   128   16

                                    Created with MEA
                                          by
                                       Ferdinand
                                         Mosca


Mit den 555 für 1"/Stellung geeigneten im Shredder- GUI:

Stockfish dev-20231202-08cdbca50 HT off 15 Threads
Bisher gelöst: 508 von 555  ;  1:35m

         1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20
-------------------------------------------------------------------------------------
   0 |   0   0   0   0   0   0   0   0   0   0   0   -   0   1   0   0   0   0   0   0
  20 |   0   0   0   0   1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   -
  40 |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
  60 |   -   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0   0   0   0   0
  80 |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
100  |   0   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0   0   0   0   0
120  |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
140  |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   -   0   0
160  |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
180  |   0   0   0   0   0   0   1   0   0   0   0   0   0   0   0   -   0   0   0   0
200  |   -   0   0   0   0   0   0   0   0   0   0   0   -   0   0   0   0   0   0   0
220  |   0   0   0   0   -   0   0   1   0   0   0   0   0   0   0   0   0   0   -   0
240  |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
260  |   0   0   0   0   0   -   0   0   0   0   0   0   0   -   0   0   0   0   0   0
280  |   0   0   -   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0   0   0
300  |   0   0   0   0   0   0   0   -   0   1   0   0   0   0   0   0   0   0   0   0
320  |   0   0   0   0   0   0   0   0   0   0   -   1   0   0   0   0   0   0   0   0
340  |   0   0   0   0   -   0   -   0   1   0   0   0   0   0   0   0   0   -   0   0
360  |   1   -   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   -   0
380  |   -   0   0   -   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
400  |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
420  |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   1   -   0   0   0
440  |   -   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   -   0
460  |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
480  |   0   0   0   0   0   -   0   0   0   -   0   0   0   0   -   -   0   0   0   0
500  |   -   0   0   0   1   0   0   -   0   0   0   0   0   0   0   0   1   0   -   0
520  |   -   -   -   -   0   -   0   -   -   -   0   0   0   0   -   0   1   0   0   0
540  |   -   0   -   0   0   -   -   0   0   0   0   0   0   0   0


  TotTime: 9:56m    SolTime: 1:35m

Stockfish dev-20231202-08cdbca50 HT on 30 Threads
Bisher gelöst: 498 von 555  ;  1:37m

         1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20
-------------------------------------------------------------------------------------
   0 |   0   0   0   0   0   0   0   0   1   0   0   -   0   0   0   0   0   0   0   0
  20 |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   -
  40 |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   1   0   0
  60 |   -   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0   0   0   0   0
  80 |   0   0   0   0   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0   0
100  |   0   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0   0   0   0   0
120  |   -   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
140  |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   -   0   0
160  |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
180  |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
200  |   -   0   0   0   0   0   0   0   0   0   0   0   -   0   0   0   0   0   0   0
220  |   0   0   0   0   -   0   0   -   0   0   0   0   0   0   0   0   0   0   -   0
240  |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
260  |   0   0   0   0   0   -   0   0   0   0   0   0   0   -   0   0   0   0   0   0
280  |   0   0   -   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
300  |   0   0   0   0   0   0   0   -   0   1   0   0   0   0   0   0   0   0   0   0
320  |   0   0   -   0   0   0   0   0   0   0   -   -   0   0   0   0   0   0   0   0
340  |   0   0   0   0   0   0   -   0   0   0   0   0   0   0   0   0   0   -   0   0
360  |   0   -   0   0   0   -   0   0   0   0   -   0   0   0   0   0   0   0   0   0
380  |   -   0   0   -   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
400  |   0   0   0   0   0   0   0   0   0   0   0   0   0   1   0   0   0   0   0   0
420  |   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   -   0   0   0   -
440  |   -   0   0   0   0   0   0   0   0   -   0   -   0   0   0   0   0   0   -   0
460  |   0   0   0   0   0   0   0   0   0   -   0   -   0   0   0   0   0   0   0   0
480  |   0   0   0   0   0   -   0   0   0   -   0   0   0   0   -   -   0   0   0   0
500  |   -   0   0   0   0   0   0   -   0   0   0   0   0   -   0   0   -   0   -   0
520  |   -   -   -   -   0   -   0   -   -   -   0   0   0   0   -   0   1   0   0   0
540  |   -   0   -   0   1   -   -   0   0   0   0   0   0   0   0


  TotTime: 9:59m    SolTime: 1:37m

Im Fritz nur ein run mit SF dev., 15 Threads HT off (die anderen gespeicherten sind alle mit 30 bei HT on gelaufen) MultiPV=4, weil ich nur diesen Vergleichsrun dieser Engine in der Liste gespeichert hatte.

    Program                                    Elo   +/-  Matches  Score   Av.Op.   S.Pos.   MST1    MST2   RIndex

  1 HypnoSIccf-NN240623-Set1                 : 3563    2   9424    59.7 %   3495   206/256    1.6s    2.2s   0.85
  ...
13 Stockfishdev-20231202-MV4                 : 3540    3   8613    56.2 %   3496   176/256    1.5s    2.6s   0.81
14 Stockfishdev-20231105-MV4                 : 3538    3   8571    56.0 %   3496   175/256    1.5s    2.6s   0.81
15 Stockfishdev-20231202-HToff-MV4           : 3538    3   8623    55.9 %   3496   176/256    1.5s    2.6s   0.80
...
47 Stormphrax1.0.0                           : 3375    3   6590    31.7 %   3509    60/256    1.5s    4.2s   0.28

MST1  : Mean solution time (solved positions only)
MST2  : Mean solution time (solved and unsolved positions)
RIndex: Score according to solution time ranking for each position


Was davon jetzt wem was sagt oder nicht sagt, überlasse ich dem PT Publikum
Parent - - By Lothar Jung Date 2023-12-10 12:06 Upvotes 1
Könntest Du LC0 mit 3/4 Cores HT off testen.
Vielleicht ist das besser als 2 Cores mit HT on.
Parent - - By Peter Martan Date 2023-12-10 12:14 Upvotes 1
Ja, aber erst, wenn ich sowieso mal wieder auf HT off umstelle, was nicht so bald sein wird. Dass das wirklich einen Unterschied macht, ob Lc0 mit HT off oder on seine 2 (von mir aus bis zu 4) CPU- threads nutzt, glaubst du eh selbst nicht, oder?
Parent - - By Robert Schlüter Date 2023-12-10 14:21
Es wird zwar Herr Jung gefragt, werde aber gerne meine Meinung ebenfalls dazu äußern. Nur weil eine Vermutung oder große wahrscheinlichkeit gegeben ist, das eine Hyperthreading deaktivierung nichts bringt, ist ja nicht eine schlussendliche Weisheit, das dem so ist !

Es würde für mich einen Stillstand bedeuten ein annahme oder Theorie nicht zu überprüfen, auch wenn sie noch so gering ist !

Und allen einen schönen 2 Advent !
Parent - - By Peter Martan Date 2023-12-10 14:38 Edited 2023-12-10 14:56
Ganz deiner Meinung, Robert, weshalb ich mich ja der Überprüfung aller möglicher Theorien hier in diesem deinem Thread sehr befleißigt habe.
Meine Rückfrage auf Lothars Zusatzwunsch, das jetzt auch noch für Lc0, das bei der einen Suite, in der ich's direkt verglichen habe, mit und ohne HT ziemlich genau gleich viel an prozentuellem Score (und jedenfalls weit entfernt von einer diesbezüglichen error bar) gemacht hat bei den default vorgegebenen 2 Threads, bei 3 oder 4 (die weder bei HT on noch bei HT off bei einer 3070ti GPU von den Entwicklern empfohlen werden) nicht auch noch mit sehr vielen verschiedenen weiteren Tests der genauen Überprüfung bedürfen sollte, um auch so schon vermuten zu können, das wird erst recht jurst wurscht sein, wirst du aber vielleicht auch verstehen

Im Ernst, schon den Stellungstest überhaupt zur Überprüfung der Performance von HT on und HT off- Threads heranzuziehen, wird außer bei Lothar, mir und noch ein paar anderen Sonderlingen kaum viel Interesse in der "breiten Userschaft" gewinnen, ich persönlich finde ihn, wenn man das einzelne Suite- Ergebnis ebenso für sich allein betrachtet wie ein einzelnes Eng-Eng-Match, das gerade bei dieser Frage auch sehr von der Hardware- TC, den teilnehmenden Engines und den Eröffnungsteststellungen im Ergebnis abhinge, genau so relevant, aber wie sehr da schon ein bisschen andere Suiten und andere Hardware- TC gleich ziemlich andere Ergebnisse bringen, wollte ich eben auch gleich zeigen.

Leider kann man ja auf demselben Rechner auch nicht 8 HT- off- Threads gegen 16 HT- on- Threads Eng-Eng spielen lassen, aber das wäre der way to go, wenn man sehen wollte, wie sich bei einer bestimmten Hardware- TC und einer bestimmten Engine bestimmte Eröffnungsstellungen auf die game- playing- performance auswirkten.
Ansonsten würde es ja auch schon viel leichter zu testen sein, wie sich die genaue time to solution(s, können ja auch Stellungen mit mehreren ungefähr gleich guten Abspielen sein, MEA ist auch nicht an single best moves gebunden, die 1001 oben sind z.B. lauter UHO- opening- positions) einzelner Stellungen bei bestimmter Hardware mit HT on und off unterscheidet, mehr als time to depth oder die schieren Knotenzahlen würde das auch schon zeigen.
Wenn jemand seine SF dev- avx2- Installation auf einem Ryzen 5950 in der cb- Cloud zur Verfügung stellt, bin ich gern bereit, über Nacht vielleicht 200 Partien mit halbwegs vernünftiger Hardware- TC ausspielen zu lassen, der eine Rechner mit HT gestartet, der andere mit HT off. Unter 2000-3000 solchen Partien wird man aber ziemlich sicher nicht aus einer error bar kommen in so einem einzelnen head to head- match, und übertragbar auf andere Hardware- TC, andere Gegner- Pools und andere Eröffnungen wäre es auch nicht.
So what?
Auch dir noch einen schönen Advent,
Parent - - By Thomas Plaschke Date 2023-12-10 16:16 Upvotes 2

> Leider kann man ja auf demselben Rechner auch nicht 8 HT- off- Threads gegen 16 HT- on- Threads Eng-Eng spielen lassen ...


Man kann nicht, wenn man darauf besteht, dass HT hardwaremäßig ausgeschaltet ist. Man kann aber dafür sorgen, dass Programm trotz vorhandenem HT ohne HT laufen. Die Alternative, die dafür sorgt, dass die Engines bei eingeschaltetem HT sich wie auf einem non-HT-PC laufen heißt Process Lasso. Aber Windows selbst bietet noch eine andere Möglichkeit, von der ich aber nicht weiß, ob man die Engines damit auch unter einem GUI starten kann.

Window kennt für die Kommandozeile und die Powershell den Befehl START. Dieser Befehl startet - wer hätte es gedacht -  Programme, denen man mit dem Parameter /AFFINITY konkrete logische CPUs zuweisen kann.

Bei einer 8-core HT-CPU wären mit /AFFINITY 5555 dem Programm von jedem core - die bei HT zwei logische CPUs beheimaten - nur eine logische CPU dem Programm zugewiesen. Läuft das Programm mit bis zu 8 Threads, entspricht das dem Zustand ohne HT. Mit dem Parameter /AFFINITY FFFF gibt man dem Programm alle logischen CPUs frei, was dem Normalzustand bei eingeschaltetem HT einspricht.

5555 und FFFF sind die hexadezimalen Werte für eine Bitmaske, die die anzusprechenden logischen CPUs identifiziert. 5555 ist die Bitmaske für 0101010101010101. Jede Ziffer steht für eine logische CPU. Die '1' steht für die dem Programm zur Nutzung überlassenen CPUs. Die FFFF bedeutet dem entsprechend 1111111111111111. Die Bitmasken kann man sich, wenn man das Prinzip verstanden hat, relativ einfach mit dem Windows-Rechner (calc.exe) unter der Programmierer-Einstellung erstellen. So bedeutet FF zum Beispiel, dass man dem Programm die ersten acht logischen CPUs überlässt. Das Programm läuft dann auf 4 cores mit bis zu 8 Threads. Die übrigen logischen CPUs könnte man mit /AFFINITY 5500 einer zweiten Engine zuweisen, die ohne HT-Nutzung arbeiten soll. Von den restlichen 4 cores würde der Engine jeweils nur eine logischen CPU zugewiesen sein.

So einfach ist es mit identischen cores. Für CPUs die HT-fähige P-Kerne und nicht HT-fähige E-Kerne haben, müsste man zunächst die logischen HT-CPUs ermitteln und könnte dann ebenfalls HT "ausschalten".

Viele Grüße
Th. Plaschke
Parent - By Peter Martan Date 2023-12-10 19:08
Danke für die Tipps, Thomas, Process Lasso kannte ich wohl dem Namen nach auch schon, hab's aber noch nie probiert.
Parent - - By Max Siegfried Date 2023-12-09 13:28
Robert Schlüter schrieb:

Vor ein paar Jahren gab es eine rege Diskusion ob HT Sinnvoll ist für Engine Schach, oder man es deaktivieren sollte !

Nun eine einhellige Meinug gab es damals nicht ( Habe dann auch aufgehört dieses Thema zu verfolgung )

Da jetzt ein paar Jahre ins Land gezogen sind zu diesem Thema

Würde ich jetzt gerne wissen, gibt es zu Hyperthreading gesicherte Erkenntnise ?

HT anlassen

HT besser deaktivieren

HT ist jeweils von der Engine abhängig !

Besten Dank für eure infomationen

Gruß R.Schlüter

Und ein schönes WE


Das könnte weiterhelfen: http://www.talkchess.com/forum3/viewtopic.php?f=7&t=82930&p=955593#p955593
Parent - - By Robert Schlüter Date 2023-12-09 17:24 Upvotes 1
Danke !
Parent - - By Lothar Jung Date 2023-12-09 20:38 Upvotes 1
Leider haben diese 1-5 Elo plus keine Relevanz:

1. Die Höhe hat keine statistische Bedeutung.
2. Die Datengrundlage der Ermittlung ist unklar.
3. Man könnte vielleicht daraus schließen, das es egal ist.
4. Dann wäre ohne Hyperthreading stromsparender.
5. Vielleicht wäre dann AVX2 relevanter für bessere Ergebnisse.
Parent - By Peter Martan Date 2023-12-10 15:19 Edited 2023-12-10 15:22
Lothar Jung schrieb:

4. Dann wäre ohne Hyperthreading stromsparender.

Es sei denn, man nutzt die zusätzlichen Instanzen, um gleichzeitig mehr Partien, Stellungen, Analysen oder was auch sonst immer damit zu machen, was für mich der Hauptvorteil von HT on ist und bleibt. Dass man nicht viel damit bei SF und LC0 verliert (z.B. auch bei Dragon nicht, wenn man der einen Suite oben schon viel vertraut) und bei manchen Stellungen wohl auch ein bisschen was gewinnt, halte ich für ausreichend bekannt mittlerweile. Wäre es wesentlich anders, wüsste man das hingegen wohl auch bereits nach den vielen Jahren, die die Diskussion jetzt so geht. Dass es bei SF derzeit eher weniger Unterschied ausmacht als früher, ist glaube ich auch unumstritten.
Parent - By Max Siegfried Date 2023-12-10 17:33
Robert Schlüter schrieb:

Danke !


HT on bedeutet +50% Roh-NPS.
- obwohl der Zuwachs an Stärke viel geringer wäre, weil die Aufteilung des Roh-NPS auf doppelt so viele Threads bedeutet, dass mehr redundante Berechnungen durchgeführt werden, die ohne diese Aufteilung gar nicht erst durchgeführt würden.
Das Bedeutet dass ein Elo Zuwachs zwar definitiv vorhanden ist, aber dieser ist super gering.
Eine CPU HT off 50000 kn/s / HT on 75000 kn/s ist so stark wie eine CPU mit HT off 55000 kn/s.
Vielleicht doch nur so stark wie 52500 kn/s.
Up Topic Hauptforen / CSS-Forum / hyperthreading cpu

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill