Es werden nicht alle kerne ausgelastet

holzfelix

Cadet 4th Year
Registriert
Juli 2018
Beiträge
121
Hallo Zusammen,

ich hab einen Server mit zwei Prozessoren: Intel Xeon Platinum 8160

Es wird alles Problemlos erkannt und Windows10 zeigt alle 48 kerne an.

Ich mach relativ aufwendige Berechnungen für Schrifterkennung. Was aber komisch ist dass immer nur 22 Kerne voll ausgelastet werden. Die last wird nicht auf alle 48 kerne ausgelastet ...

Dachte ich okay dann lass ich es doppelt laufen ... wäre auch okay aber es wird dann der zweite prozess nicht auf die anderen 22 kerne verlegt sondern auf die selben.

Was könnte das für Gründe haben?

Danke im Voraus
 
Welche Software kommt zum Einsatz?

Ist sie laut Handbuch überhaupt in der Lage, 48 bzw. mehr als 22 Kerne in Anspruch zu nehmen? Software macht so etwas nicht automatisch, sie muß aufwendig auf Parallelität hin optimiert werden.
 
Es handelt sich um eine Eigenentwicklung.
habe in den letzten Monaten stark aufgerüstet von 4 auf 8 auf 12 und dann auf 22 kerne das hat alles prima funktioniert ohne Anpassungen

Kann es auch Probleme geben weil es zwei CPUs auf einem Board sind und nicht eine CPU mit 48 kernen?


aber wieso laufen dann zwei Instanzen des Tools nicht jeweils auf 22 und belegen dann alle?
 
Wenn es eine Eigenentwicklung ist dann ... kannst diese Fragen eigentlich nur du beantworten.
Natürlich kann es sein, dass 2 CPUs dein Programm nicht checkt.
Das ist ja das Problem von vielen Programmen. Sie nutzen die Kerne nicht aus, da ist dein Programm nicht alleine.
 
Wie sollen wir das beurteilen bzw- ne lösung finden wenn du die Software geschrieben hast?
 
gibt es limitierungen von windows oder treiberseite die eine verteilung auf mehrere cpus verhindert?
 
Which editions of Windows 10 Support Multiple processors?

Windows 10 Home only supports one physical CPU.
Windows 10 Pro, Pro Edu, Education, Business and Enterprise supports multiple CPUs.

Eventuell home version?
 
Es kommt auch auf die genaue Windows 10 Version an, wie viele Kerne unterstützt werden. Vielleicht brauchst du eine teurere Lizenz? Teste es doch mal unter Linux
 
Ich hab Pro im einsatz

Im Taskmanager sind alle kerne verfügbar aber es werden eben nur die hälfte belegt
 
Windows 10 Pro unterstützt bis zu 512GB Arbeitsspeicher und maximal 2 CPUs mit insgesamt bis zu 256 Kernen, egal ob physische oder logische.

Deine beiden Intel Xeon Platinum 8160 haben jeweils 24 Kerne. Windows müsste demnach 96 "logische Prozessoren" anzeigen.
 
Zuletzt bearbeitet:
Was mir nicht in den Kopf will, wie kommt man auf die Idee 10000€ in CPUs zu investieren und betreibt sie dann mit einem Windows 10?

Aber sei es drum. Wie wäre es mit ein paar Informationen zum Aufbau? Welche Windows Version,
welches Mainboard, was für ein Netzteil? Wie schaut es mit anderen Programmen wie Prime aus?
 
KnolleJupp schrieb:
Deine beiden Intel Xeon Platinum 8160 haben jeweils 24 Kerne. Windows müsste demnach 96 "logische Prozessoren" anzeigen
Ich denke das ist der entscheidende Punkt. Es werden 48 Threads angezeigt, also ist nur eine CPU aktiv. Deine Software läuft nur auf echten Kernen, daher werden nur 24 Threads belastet.
 
  • Gefällt mir
Reaktionen: xexex und DeusoftheWired
Qarrr³ schrieb:
Ich denke das ist der entscheidende Punkt. Es werden 48 Threads angezeigt, also ist nur eine CPU aktiv. Deine Software läuft nur auf echten Kernen, daher werden nur 24 Threads belastet.

Das Programm kan aber nicht zwischen echten und virtuellen kernen unterscheiden. Es gibt nämlich keine "echten" und "virtuellen" Kerne. Der Prozessor stellt X Threads zur Verfügung und ein programm nutzt sie, oder auch nicht. Alles dahinter macht die CPU alleine.
 
Also wenn Hyperthreading aktiv ist müssen für eine Dual 24 Kern-Prozessor Setup -> 96 logische Prozessor-Kerne angezeigt werden. Scheint als wird der zweite Prozessor nicht erkannt.

Dein Programm doppelt (bzw. x-fach) zu starten wird wahrscheinlich reichen um den Prozessor voll auszulasten. Dein Programm erzeugt OS-Threads die dann vom OS-Scheduler hoffentlich vernünftig auf die verfügbaren Ressourcen aufgeteilt werden.

Also stellt erstmal sicher ob beide Prozessoren auch wirklich aktiv sind (bei CPU-Z sollte unten links ein Dropdown sein. Dort müssten zwei Prozessoren zur Auswahl stehen) .
 
also es werden sowohl im taskmanager als auch in cpu-z die richtigen anzahl kerne und threads angezeigt ... müsste dann wohl im bios auch passen kann ich aber grad nicht prüfen weil ich zuhause bin und die möhre im Büro steht.

hab euch mal paar screenshots angeängt

@Hooo doppelt zu staraten macht kein unterschied


@new Account() Problem ist dass ich alle 48 Kerne zu 100% auslasten möchte um die Berechnung schnell durchzuführen. geht hier um klassische last Verteilung auf alle kerne.
 

Anhänge

  • Screenshot_2018.07.27_23h17m22s_003_.png
    Screenshot_2018.07.27_23h17m22s_003_.png
    555,7 KB · Aufrufe: 511
  • Screenshot_2018.07.27_23h19m26s_004_.png
    Screenshot_2018.07.27_23h19m26s_004_.png
    431,3 KB · Aufrufe: 410
  • Screenshot_2018.07.27_23h21m46s_005_.png
    Screenshot_2018.07.27_23h21m46s_005_.png
    445,8 KB · Aufrufe: 380
Zurück
Oben