So ermitteln Sie die Anzahl der physischen Prozessoren/Kerne unter Windows, Mac und Linux
Posted: 13 Jan 2025, 19:46
Ich habe eine Multithread-C++-Anwendung, die auf Windows, Mac und einigen Linux-Varianten läuft.
Um es kurz zu machen: Damit es mit maximaler Effizienz läuft, habe ich Sie müssen in der Lage sein, einen einzelnen Thread pro physischem Prozessor/Kern zu instanziieren. Wenn ich mehr Threads erstelle, als physische Prozessoren/Kerne vorhanden sind, verschlechtert sich die Leistung meines Programms erheblich. Auf allen drei dieser Plattformen kann ich die Anzahl der logischen Prozessoren/Kerne bereits richtig erkennen. Um die Anzahl der physischen Prozessoren/Kerne korrekt ermitteln zu können, muss ich feststellen, ob Hyper-Treading unterstützt und aktiv ist.
Gibt es eine Möglichkeit? um festzustellen, ob Hyper-Threading unterstützt und aktiviert wird? Wenn ja, wie genau?
Um es kurz zu machen: Damit es mit maximaler Effizienz läuft, habe ich Sie müssen in der Lage sein, einen einzelnen Thread pro physischem Prozessor/Kern zu instanziieren. Wenn ich mehr Threads erstelle, als physische Prozessoren/Kerne vorhanden sind, verschlechtert sich die Leistung meines Programms erheblich. Auf allen drei dieser Plattformen kann ich die Anzahl der logischen Prozessoren/Kerne bereits richtig erkennen. Um die Anzahl der physischen Prozessoren/Kerne korrekt ermitteln zu können, muss ich feststellen, ob Hyper-Treading unterstützt und aktiv ist.
Gibt es eine Möglichkeit? um festzustellen, ob Hyper-Threading unterstützt und aktiviert wird? Wenn ja, wie genau?