Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / AMD Ryzen 7 5700X: 8 Kerne, 16 Threads
- - By Klaus Ellers Date 2023-10-21 12:25 Upvotes 1
Hallo zusammen,

ich nutze in meinem PC diese CPU: AMD Ryzen 7 5700X https://www.cpubenchmark.net/cpu.php?cpu=AMD+Ryzen+7+5700X&id=4814.
Sie hat 8 Kerne (also physische).

Im taskmanager unter Windows 10 Prof werden mir allerdings 16 Kerne angezeigt.
Nach meiner Vorstellung hat also jeder der 16 threads nur 1/16 der power, die die CPU insgesamt bereit stellt.

Wie kann ich das von 16 auf 8 Kerne ändern? Wenn ich mich recht erinnere, konnte man früher (oder auch: ganz früher, Win 7 Zeiten?) die Anzahl der Kerne / Threads (in der Windows-Anzeige) auf das doppelte der hardware-Kerne erhöhen, indem man im BIOS Virtualisierung einschaltete.

Ich möchte gerne, diese 8 (virtualisierten?) Kerne deaktivieren, damit danach je thread 1/8 der gesamten CPU-power abbekommt.
1. Wie kann ich das bewirken?
2. Mache ich einen Denkfehler bzw. fehlen mir irgendwelche Infos?

Danke schon mal!

Nachtrag:
Im taskmanager unter Leistung - CPU steht übrigens noch:
Kerne 8
Logische Prozessoren 16
Virtualisierung: Deaktiviert

Ich habe meine privaten, kleinen engine Turniere im Sinn, bei denen ich je engine einen Kern verwenden möchte, und diesen mit der maximal möglichen power versorgen möchte.
Parent - By Lothar Jung Date 2023-10-21 17:31 Upvotes 1
Du kannst im BIOS das Hyperthreading deaktivieren.
Dann nutzt das Betriebssystem nur noch die physischen Kerne.
Die gesamte CPU-Leistung erreichst du mit 16 Threads, also mit Hyperthreading aktiviert.
Parent - By Patrick Götz Date 2023-10-21 18:02
Hallo Klaus,
Hyper-Threading bedeutet nicht Virtualisierung.
Bei Hyper-Threading sind tatsächlich mehr Transistoren (=Hardware) verbaut, die für mehr Leistung sorgen.
https://de.wikipedia.org/wiki/Hyper-Threading.

Bei Hyper-Threading ist es so, dass für die ersten 8 genutzten Kerne die volle Leistung zur Verfügung steht, die Kerne 9-16  haben etwa noch 50% der Leistung ( 50% bei AMD, bei Intel sind es ca. 33%) der ersten 8 genutzten Kerne. Die Verteilung wird intelligent und nach Bedarf automatisch geregelt.
Insgesamt entspricht die Leistung einer 8-Kern-Hyper-Threading CPU der Leistung daher einer 12-Kern-NICHT-Hyper-Threading CPU.
Gemäß deines Wunsches ist es daher sinnvoll der Schach-Engine  8 Kerne zuzuteilen, die restlichen 8 Hyper-Threading Kerne können sich dann um die Hintergrundanwendungen (Browser, Systemanwendungen, E-Mail usw.)  kümmern, ohne das dabei die Schach-Engine in ihrer Leistung reduziert wird.
Parent - - By Klaus Ellers Date 2023-10-22 22:56
Lieben Dank für Eure Antworten, die Klärung zu Virtualisierung / Hyper Threading hat mir offensichtlich gefehlt, ich probiere es demnächst mal aus, wenn ich es im BIOS finde.
Thanks!
Parent - - By Thomas Zipproth Date 2023-10-23 10:20
Nur aus Interesse, was möchtest du im Bios ausprobieren und warum?
Wie aus der Antwort von Patrick hervorgeht, ist die Einstellung so wie sie (8 Cores + 8 Hyperthreading Cores) optimal und muss nicht geändert werden.

8 Kerne laufen mit voller Leistung, d.h. folgende Engine Turnier Konfigurationen sind sinnvoll (bei einem Thread/Core pro Engine):
- 4 Partien gleichzeitig mit Permanent Brain / pondering
- 8 Partien gleichzeitig ohne Permanent Brain / pondering

Die restlichen 8 Hyperthreading Cores kümmern sich um das Betriebssystem, diverse laufende Hintergrunddienste und um das Programm, das das Turnier durchführt, wie z.B. cutechess.

Alternativ wären z.B. auch 6/12 gleichzeitige Partien denkbar, dann wird die volle Leistung des Rechners etwas besser ausgenutzt.
Wenn man pro Engine auf dieselbe Rechentiefe wie mit 4/8 Partien kommen will, kann man ihnen einfach etwas mehr Zeit zuteilen.
Parent - - By Klaus Ellers Date 2023-10-23 16:45
Danke Thomas für deine ebenfalls hilfreichen Ergänzungen. Die Hinweise von Patrick und der WiKi Artikel waren sehr erhellend für mich.

Ursprünglich hatte ich die Annahme, dass alle 16 threads / Kerne gleich leistungsfähig sind, aber eben auch nur 1/16 des gesamten CPU-"Potentials" darstellen.
Demnach wäre nach dem Deaktivierung der Virtualisierung (jetzt richtig: Hyperthreading) ein thread (also einer von jetzt nur noch acht verfügbaren) leistungsfähiger, da dieser nun 1/8 der gesamt-CPU darstellt.

...und ich wollte mir eine Möglichkeit ausdenken / schaffen, das zu testen bzw. zu überprüfen.

Wenn ich Euch richtig verstehe: Das OS sorgt bei Dauerlast von z.B. n (bei meiner CPU n <= 8) engines mit jeweils einem Kern/thread dafür, dass diese Anforderung an die CPU auch tatsächlich von einem leistungsfähigen, echten, nicht virtualisiertem Kern übernommen wird?
Parent - By Thomas Zipproth Date 2023-10-23 20:15
Leider ist alles nochmal deutlich komplizierter:

So wie du es beschreibst, wäre es das Konzept z.B. eines modernen Intel "Core i9 14900K" Prozessors.
Dieser hat tatsächlich 8 schnelle (aber auch energiehungrige) Cores, sowie 16 langsamere (aber sparsame) Cores.
Also 24 physische Cores.
Das Betriebssystem sorgt dafür, das bei 8 laufenden Engines die performanten Cores voll ausgelastet werden.

Hyperthreading funktioniert ganz anders:
Hier kann ein Core (von 8 physischen gleichen Cores), während er auf etwas wartet (z.B. eine Memory Anforderung), schnell bei einem anderen Thread "aushelfen" oder mitarbeiten.
Dieser Vorgang ist als ein Hyperthreading Core realisiert. Deswegen werden im Taskmanager 16 Threads/Cores angezeigt.
Den ganzen komplexten Vorgang steuert der Scheduler, so das alles richtig und optimal ausgelastet wird.

Bei dem "Core i9 14900K" haben die schnellen Cores übrigens auch Hyperthreading, so das insgsamt 32 Threads/Cores angezeigt werden.
Dann wird es bzgl. der Implementierung des Task Schedulers wirklich kompliziert, es funktioniert inzwischen aber.
Parent - By Patrick Götz Date 2023-10-25 03:13
Klaus Ellers schrieb:

Wenn ich Euch richtig verstehe: Das OS sorgt bei Dauerlast von z.B. n (bei meiner CPU n <= 8) engines mit jeweils einem Kern/thread dafür, dass diese Anforderung an die CPU auch tatsächlich von einem leistungsfähigen, echten, nicht virtualisiertem Kern übernommen wird?

Richtig, die volle Leistung eines Kernes steht bei n <= 8 zur Verfügung.
Und noch einmal zur Sicherheit:  deine Ursprüngliche Annahme das dann nur 1/16 der Gesamtleistung pro Kern zur Verfügung steht war falsch.
Parent - By Patrick Götz Date 2023-10-25 03:18
Warum es mit den Intel Produkten so kompliziert machen, wenn es ihn doch nur um den eigenen AMD Ryzen 7 5700X geht.
Aber deine Ausführungen sind gut um noch einmal zu verdeutlichen warum insbesondere (auch) für Schach (-Engines)  die AMD Ryzen CPUs  vorzuziehen sind.
Up Topic Hauptforen / CSS-Forum / AMD Ryzen 7 5700X: 8 Kerne, 16 Threads

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill