![]() |
OmniThread Library Prozessorauswahl beschränken
Hallo zusammen,
ist es möglich, beim Einsatz der parallel.ForEach Funktion der OmniThreadLibrary die CPU-Kernzuweisung anzupassen? Ich weiß, dass man über einen Parameter die Anzahl der zu verwendenden Kerne beschränken kann. Kann man der Funktion aber auch mitteilen, dass z.B. nur die Kerne 2 und 3 oder 3-5 verwendet werden dürfen? Viele Grüße Bastian |
AW: OmniThread Library Prozessorauswahl beschränken
Ob das geht auch in der Lib geht, weiß ich nicht,
aber du kannst zumindestens als einen der ersten Befehle ein ![]() Aber ob das so sinnvoll ist? Mindestens Windows 11 schiebt alle Threads eh so alle 20-30 Sunden reih um, um die Wärmeleistung auf alle Kerne gleichmäßig zu verteilen. Wenn du Pech hast, bremst du dich damit selbst aus, wenn deine Kerne überhitzen und runtergetaktet werden. |
AW: OmniThread Library Prozessorauswahl beschränken
Danke für die schnelle Rückmeldung zu so später Stunde.
Ich denke auch nicht, dass es sinnvoll ist. Ist aber leider eine aktuelle Anforderung vom Kunde. Scheinbar werden die Kerne 1+2 von deren Software verwendet (exklusiv) und die restlichen 2-3 Kerne dürfen/sollen von Drittanwendungen verwendet werden. Viele Grüße Bastian |
AW: OmniThread Library Prozessorauswahl beschränken
Und auch noch etwas Anderes zum Aufpassen.
Mein i7 im Notebook hat 16 Kerne. (laut Taskmanager) Aber eigentlich sind es 12 Kerne * 4 Performance-Core mit Hyperthredding * 8 Efficiency-Core ohne Hyperthredding ![]() Erstmal kann man da schön sehen, wie die CPU-Belastungen wandern ... jeweils nach der Hälfte der Auslastungengrafiken wandert plötzlich die Auslastung 1-2 Kerne weiter. Und im Moment seh ich, wie die letzten 8 Kerne komplett schlafen und bei den ersten 8 jeweils zwei bis drei abwechselnd schlafen ("geparkt" sind). Wird dann sichtbare, bei den 63 Kernen auf dem Server. Vielleicht wäre es da sinnvoller die Prozessprioritäten zu nutzen. (das ist sogar schon im TThread eingebaut) Wichtige Prozesse hochstufen und die unwichtigen runter. Das geht einmal im eigenen Programm, sowie über den Taskmanager, aber es gibt auch Tools, welche das quasi permanent zuweisen, bei Programstarts. In ARM-CPUs wird das Ganze noch schlimmer. Bei Intel kann jeder Kern das gleiche machen. In ARM gibt es Cores mit unterschiedlichem Aufbau und unterschiedlichen Befehlssätzen. (so als wenn man eine moderne Intel-CPU, eine alte DOS-CPU und eine Gameboy-CPU ein Intel und ARM zusammenklebt ... da brauchst du im Programm unterschiedlich kompilierte Programmcodes, jenachdem auf welchem Kern das laufen soll) |
AW: OmniThread Library Prozessorauswahl beschränken
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz