Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Hyperthreading ... Frage!
- - By Frank Quisinsky Date 2017-01-08 16:59 Edited 2017-01-08 17:03
Hallo,

längere Zeit damit nicht mehr beschäftigt.

Wenn ich z. B. bei einem 6-Core Rechner eine Engine Partie ohne Ponder spielen lasse, könnte ich ja eigentlich die 6 Cores geben und auch 6x Hyperthreading.
Sofern ich das noch richtig in Erinnerung habe macht es eigentlich nur Sinn Hyperthreading im Bios auszuschalten wenn nicht alle Cores für die Analyse gegeben werden (also wenn ich z. B. drei Engines mit je 2 Cores zeitgleich starte wäre das besser wenn Hyperthreading aus ist) bzw. wenn eine Engine Partie mit Ponder = on läuft.

Also bei 6 Cores könnten drei Engine Partien gleichzeitig mit Ponder = on laufen und Hyperthreading sollte aus sein.

Oder liege ich falsch ...
Tja, wenn man immer nur Resultate mit einem Core produziert.
Bei meiner Ratingliste war daher Hyperthreading im Bios immer ausgeschaltet bzw. bei den Rechnern die ich einsetzte.

Viele Grüße
Frank

Frage deswegen weil ich mal ein Engine Match mit 12 Cores starten möchte ohne Ponder!
Denke dann kann Hyperthreading an lassen!

Fritz Bench liegt bei dem i7 5930 bei knapp über 50 mit 12 Cores und 4.4 Ghz (maximal geht laut dem Asus Overclocking Tool vom Bios 4.6 Ghz bei dem verwendeten Noctua Kühler). Schon ein Wahnsinn wie schnell diese Maschine welche die ganze Zeit für die Ratingliste mit 4.0 GHz lief eigentlich ist.
Parent - - By Horst Sikorsky Date 2017-01-08 19:27 Edited 2017-01-08 19:32
Hallo Frank,
mein PC i7- 4930K 3.80 GHz hat 6 cores und 12 threads, wenn ich 6 cores verwende zeigt der Task-Manager 50% Leistung an.
also kann ich 2 Engine mit 5 threads und Ponder = on spielen lassen, ohne 100% Leistung zu erreichen.
Hyper sollte immer an sein!!
Horst
Parent - - By Horst Sikorsky Date 2017-01-08 20:01
PS also müssten drei Partien mit jeweils 2 threads möglich sein.
dann aber mit 100% Auslastung!
Horst
Parent - - By Michael Scheidl Date 2017-01-09 20:05 Upvotes 1
Da wäre ich vorsichtig, denn Hyperthreads sind nunmal keine physischen Cores. Deren Performance(-Zuwachs) ist auch je Engine unterschiedlich. Ich befürchte ein Chaos und unterschiedlich zugeteile Prozessorleistungen. In einem Engineturnier würde ich nichts jenseits der echten Cores konfigurieren.

Was nicht heißt daß man HT. prinzipiell abwürgen sollte. Im Einzelbetrieb, z.B. bei Analysen usw. bringt es sicherlich etwas für die Engineperformance. Das ist meßbar. Des weiteren ist es auch für die gesamte Systemleistung von Nutzen.
Parent - - By Frank Quisinsky Date 2017-01-11 06:57
Hallo Michael,

genau die Frage stelle ich mir.
Ich würde natürlich lieber 12 Cores 6x Hyperthreading für Eröffnungsbuchanalysen einsetzen.

Sprich, bringe die analysierenden Varianten in eine EDP und kann diese EPD Datenbank ja dann durchanalysieren lassen mit der Shredder GUI.
Warum hierfür nicht mit Hyperthreading wenn denn die Performance erhöht wird.

Oder wenn ich 12 Cores gegen 12 Cores ohne Ponder spielen lassen, sollte Hyperthreading meines Erachtens einsetzbar sein.

Viele Grüße
Frank

Vielen Dank für die Antworten nur ich traue dem Hyperthreading Braten nicht so recht weil es eher darauf hinauslaufen wird das Analyseresultate nicht 1 zu 1 zu reproduzieren sind.
Muss mich näher damit beschäftigen.
Parent - - By Thomas Plaschke Date 2017-01-11 17:37 Edited 2017-01-11 18:10
Frank Quisinsky schrieb:
[...]
... 12 Cores 6x Hyperthreading ...
[...]
Was meinst Du damit?

Zum Thema Hyperthreading ist auch in diesem Forum viel geschrieben aber nur von wenigen getestet worden.
Benno hat bspw. dazu mit Stockfish HT gegen Nicht HT getestet. Ich habe zu seinem Test bemerkt, dass er die Nicht-HT-Seite systematisch benachteiligt haben dürfte. Und so weiter und so fort. Alles in Allem scheint HT bei wenigen Kernen für Stockfish einen geringfügigen Elo-Zuwachs zu bewirken. Besser gesagt: wahrscheinlich macht HT Stockfish - bei wenigen Kernen - nicht schwächer.

Viele scheinen sich aber nur an der Knotenleistung zu orientieren und sind begeistert über den Zuwachs - deswegen muss das Programm auch stärker sein!

Um eine Empfehlung will ich mich aber auch nicht drücken: Ich würde HT eingeschaltet lassen und das Programm so auf den Prozessor verteilen, dass nie zwei Threads des Programms auf dem gleichen Core laufen (Das war der systematische Fehler in Bennos Test.).

Viele Grüße
Th. Plaschke
Parent - - By Klaus S. Date 2017-01-12 00:16 Edited 2017-01-12 00:39
Thomas Plaschke schrieb:

Richtig. Aber Du kannst bei 2 Threads nicht bestimmen, auf welchem Core die Threads laufen. >>>>  Ich nutze ein Programm  <<<<, mit dem man genau das für jede Engine steuern kann. Geschwindigkeitsplus meistens mehr als 10% für 2 Threads (wenn sie auf verschiedenen Kernen laufen). Wir hatten vor einiger Zeit einen Austausch darüber hier im Forum.

Hallo Thomas,

möchtest du uns verraten welches Programm du dafür einsetzt?
(>>>> <<<< von mir eingefügt)

Hier dein Posting
http://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=99069#pid99069
Parent - - By Thomas Plaschke Date 2017-01-12 09:19
Das Programm heißt Process Lasso und findet sich unter: https://bitsum.com/.
Auf der Website kann man den Dialog zur Festlegung der CPU-Affinität hier finden https://bitsum.com/automation/.
Wenn man bis Default (Persistent) CPU Affinities runter scrollt, kann man schon Mal den Dialog zur Festlegung der Default CPU-Affinität eines Programms bewundern. Angezeigt werden die logischen CPUs. Also unter Windows die CPU-Pärchen eines Cores (bspw. 0 und 1, 2 und 3 etc.).

Trägt man beispielweise (bei aktiviertem HT - sonst ist für unsere Zwecke das Ganze witzlos) stockfish*.exe als Process-Name ein und wählt auf einem i7 mit 8 logischen CPUs die 0, 2, 4 und 6 aus, hat man sichergestellt, dass alle exe-Dateien, die mit 'Stockfish' anfangen nur auf den genannten logischen CPUs ausgeführt werden. Damit würden die Threads von Stockfish nie auf einem Core miteinander konkurrieren, was sonst schon mal passieren kann - und nicht günstig ist. Andererseits sollte man mit diesen Einstellungen nicht versuchen, 'Stockfish' mit mehr als 4 Threads laufen zu lassen, weil der exe-Datei eben nur 4 (logische) CPUs zugewiesen werden (das Programm 'schneckt' dann ein bisschen). Weniger Threads einzustellen, als man in Process Lasso reserviert hat, ist dagegen unproblematisch.

- Den Unterschied zwischen der Zuweisung der CPUs 0-3 und 0, 2, 4, 6 sollte man sich übrigens ruhig mal ansehen.

Viele Grüße
Th. Plaschke
Parent - - By Benno Hartwig Date 2017-01-12 09:45

> und wählt auf einem i7 mit 8 logischen CPUs die 0, 2, 4 und 6 aus


Und wie ist, abseits von allen theoretisch begründeten Erwartungen, deine Erfahrung:
Liefert beispielsweise SF derart eingestellt ein stärkeres oder eher ein schwächeres Spiel ab als ein anderer SF, dem man ganz simpel 8 Threads auf einer gleichen Maschine zugebilligt hat?
Nach meinem Eindruck bietet die praktische Hyperthreadingnutzung bei Schachengines durchaus Raum für Überraschungen.

Benno
Parent - By Thomas Plaschke Date 2017-01-12 10:45
Ich habe nur ein i3-Notebook. Bei einem Test Stockfish mit 4 HT-Threads gegen Stockfish mit 2 Threads auf dem 2 Cores-Prozessor bekam ich kein eindeutiges Ergebnis. Ich machte den Test als Reaktion auf Deinen Test "4 Threads gegen 2 Threads bei eingeschaltetem HT". Ich hatte den Eindruck, Du würdest bei Deinem Test davon ausgehen, dass "2 Threads" (nur) auf beiden Cores Deines Rechners laufen würden. Dagegen konnte ich auf meinem Notebook feststellen, dass bei erzwungener Ausführung der 2 Threads auf beiden Cores allein schon die Knotenleistung um 10-15 % höher war.

Es waren aber nur ein paar wenig hundert Partien, die ich 4 Threads gegen 2 Threads spielen ließ. Der Unterschied belief sich immerhin auf ein paar Elo-Punkte Unterschied zugunsten des 4 Thread HT-Stockfish aber innerhalb der (noch sehr großen) Fehlerbreite. Aber deutlich weniger als bei Deinem Test (Grundsätzlich natürlich auch andere Testbedingungen). Der Gegentest auf einem i5 mit 2 Threads gegen 4 Threads jeweils auf echten Cores brachte ein erwartungsgemäß deutliches Ergebnis.

Aber man muss bedenken, dass bei diesen Tests, anders als bei den Tests mit einem Thread, die Ergebnisse durch das "weniger" deterministische Verhalten der Programme eine größeres statistische Streuung haben könnten.

Die erwähnten Test machte ich unter Windows 7. Nach dem Umstieg auf Windows 10 scheint das System eine höhere Grundlast zu haben, sodass ich nicht mehr bzw. selten mit 4 Threads teste. Ich kann meine Beobachtungen daher nicht weiter untermauern.

Viele Grüße
Th. Plaschke
Parent - - By Benno Hartwig Date 2017-01-12 09:50
Kann jemand tatsächlich beobachtete Daten nennen, wie sich die Geschwindigkeiten von Engines verhalten, wenn ich höchstens so viele Threads nutze, wie reale Kerne da sind?
a) bei im BIOS aktiviertem Hyperthreading
b) bei im BIOS deaktiviertem Hyperthreading

Sind die Engines im Falle b) wirklich erkannbar schneller?

Benno
Parent - By Michael Scheidl Date 2017-01-14 08:48
Letztendlich kommt es nur darauf an, wie die Situation zuhause auf dem eigenen Rechner und mit der eigenen, bevorzugten Software ist. Was andere bei sich gemessen haben, ist unverläßlich, es seit denn sie hätten praktische dieselbe Hardwarekonfiguration.

Auf Knotenleistung alleine würde ich fast nichts geben, da mehr Threads sicherlich auch mehr Redundanzen (Antreffen derselben Stellungen) mit sich bringen. Aussagekräftig ist bekanntlich Time to Depth (x). Noch aussagekräftiger ist Time to Solution, was man indirekt über eine gute, große Testsuite bzw. Lösungsquote abtesten kann.

Zitat:
Sind die Engines im Falle b) wirklich erkannbar schneller?


Zwar habe ich zur Stunde immer noch keinen Quadcore (kommt bald), aber das glaube ich kaum. Das ist spätestens seit es die Intel-i-Serie gibt meines Erachtens Unfug.

Allerdings glaubt beispielsweise der Fritzmark fest daran daß es doch so ist, und auch die Performancemessung für die LiveBook-Analysen teilen "unbeirrbar" einen geringeren Wert zu, sobald man Hyperthreads zuschaltet. Obwohl die Time to Depth kürzer wird. So war es zumindest als ich das letzte Mal drin war. Diese Benchmarks machen etwas grundfalsch während "echte" Engines definitiv profitieren, obzwar unterschiedlich.
- By Heinz Hagenstein Date 2017-01-09 10:30
Hallo Frank,

deine Fragen hast du selbst schon beantwortet,HT an,und es sollten 3 Paarungen laufen.

Gruß Heinz
Up Topic Hauptforen / CSS-Forum / Hyperthreading ... Frage!

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill