Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Anzahl der CPU KERNE rausfinden?? (https://www.delphipraxis.net/92097-anzahl-der-cpu-kerne-rausfinden.html)

Dezipaitor 23. Aug 2009 22:00

Re: Anzahl der CPU KERNE rausfinden??
 
Ich wollte nur mal Danke sagen! :dp:

R2009 24. Aug 2009 06:20

Re: Anzahl der CPU KERNE rausfinden??
 
Hi Omata,
so ganz versteh ich deinen Code nicht:

Was soll denn die Division beim Ergebnis?

Delphi-Quellcode:
ShowMessage(IntToStr(GetCPUCount div GetCPULogicalProcessorCount))
Bitte erklär uns das kurz!

Viele Grüsse

MagicAndre1981 24. Aug 2009 06:47

Re: Anzahl der CPU KERNE rausfinden??
 
so wie ich das beim Überfliegen sehe, ist das da um Hyperthreading auszuklammern bei dem Ergebnis. Hyperthreading würde die Anzahl der Kerne verfälschen

R2009 24. Aug 2009 06:53

Re: Anzahl der CPU KERNE rausfinden??
 
Hi,

Das Ergebnis ist doch erst recht verfälscht. Ich habe zwei reale und 2 logische Kerne.
Als Ergebnis bekomme ich, nach deiner Rechnung, 1.

Versteh ich nicht.

Viele Grüsse

mirage228 24. Aug 2009 07:17

Re: Anzahl der CPU KERNE rausfinden??
 
Zitat:

Zitat von R2009
Hi,

Das Ergebnis ist doch erst recht verfälscht. Ich habe zwei reale und 2 logische Kerne.
Als Ergebnis bekomme ich, nach deiner Rechnung, 1.

GetCPUCount müsste dann ja 4 zurückgeben (2 real + 2 logische, bzw. 2 logische pro realem Kern). Wenn Du dann durch die Anzahl logischer Kerne pro CPU teilst, müsstes ja stimmen (4 : 2 = 2)...

Viele Grüße

jfheins 24. Aug 2009 07:33

Re: Anzahl der CPU KERNE rausfinden??
 
Und meinem realen Quadcore wird ein Kern attestiert?

Ich wäre dafür: Die einfache Prozedur zu nehmen. Und wenn ein Pentium HT (oder so) daherkommt und sagt, er wäre 2 dann macht man halt 2 Threads auf. Der Aufwand von einem <> zwei Threads wird die Berechnung nicht viel langsamer machen.

MagicAndre1981 24. Aug 2009 07:55

Re: Anzahl der CPU KERNE rausfinden??
 
Zitat:

Zitat von mirage228
GetCPUCount müsste dann ja 4 zurückgeben (2 real + 2 logische, bzw. 2 logische pro realem Kern).

so sehe ich das eigentlich auch. Welchen Prozessor hast du und liefern die Funktionen?

devidespe 24. Aug 2009 09:08

Re: Anzahl der CPU KERNE rausfinden??
 
Soweit ich weiß, gibt es je nach Prozessorhersteller und auch -Modell verschiedene Wege, das herauszufinden, die jedoch allesamt auf dem CPUID-Befehl beruhen. Wichtig wären meines Erachtens folgende Punkte (in Klammern die Ergebnisse auf einen Imtem Core i7 920):

- Anzahl physikalischer Prozessorpackages ( 1 )
- Anzahl der physikalischen Prozessorkerne ( 4 )
- Anzahl der logischen Prozessorkerne ( 8 )

Soweit ich das beurteilen kann, reicht die von "C.Schoch" gepostete Funktion "GetCPUCount" aus, um zuverlässig die 3. Zeile zu ermitteln.

Interessant wäre die Entwicklung eines Quellcodes, der sowohl auf Intel- und AMD-Basis funktioniert und diese 3 Zeilen zuverlässig anzeigt.

Die c't hatte in Ausgabe 08/2006 mal dieses Thema aufgegriffen, die MPDetect-Sourcen sind hier (Heise-Webseite) abrufbar.

MagicAndre1981 24. Aug 2009 10:18

Re: Anzahl der CPU KERNE rausfinden??
 
Zitat:

Zitat von devidespe
- Anzahl der physikalischen Prozessorkerne ( 4 )
- Anzahl der logischen Prozessorkerne ( 8 )

Soweit ich das beurteilen kann, reicht die von "C.Schoch" gepostete Funktion "GetCPUCount" aus, um zuverlässig die 3. Zeile zu ermitteln.

aber darum gehts ja nicht. Es geht ja nicht um die logischen Kerne, sondern um die reellen Kerne, also in deinem Fall 4 und nicht 8.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:23 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz