Wie benutzt man alle Kerne?

3 Antworten

Du gar nicht!

Das macht das Betriebssystem.

Ein Programm kann nicht beliebig auf die Kerne verteilt werden. Das Programm muss in sogenannte "Tasks" aufgeteilt sein und die kann dann das Betriebssystem auf die Kerne verteilen.

Man kann einen task nicht einfach so verteilen. Das ist wie eine Matheaufgabe, z.B.

3*4+2*5

Das kann man nicht 4 Leuten geben, also jedem eine Zahl und die dann machen lassen. Die können so nicht zu einem Ergebnis kommen ohne miteinander zu reden und ihre Zahlen auszutauschen. Es wird so nicht schneller und ein Programm kann nicht mit Stücken von sich selber reden um sich abzusprechen.

Man kann das nur aufteilen, in dem man zwei Leuten je eine Multiplikation gibt und dann einem davon beide Ergebnisse die der dann zusammen addieren kann. Und dann würden bei der Aufgabe statt 4 Schritte von einer Person insgesamt 3 Schritte von zwei Personen bearbeitet. Das macht dann immer noch keinen Sinn.

Deswegen haben Gaming-PC weniger Kerne, die sind dafür aber schneller. So können dann die wenigen unabhängigen Tasks des Spieles (plus die vom Betriebssystem) schneller bewältigt werden. Zu viele langsamere Cores machen alles nur langsamer da die nicht alle gleichzeitig arbeiten können. Oft müssen Tasks auch aufeinander warten um ihre Ergebnisse zu kombinieren. Laufen die Cores langsamer, dauert das eben länger! Also ist gerade beim Gaming das alte "Weniger ist mehr" auch gültig.

Wo die vielen Cores sinnvoll sind, das sind CAD Berechnungen und vor allem Videoschnitt. Hier können die Cores dann verschiedene Bildteile oder Szenen getrennt und völlig unabhängig bearbeiten.

Woher ich das weiß:Berufserfahrung

Valentin1720653  21.01.2024, 22:41

Die Erklärung mit den 4 Personen ist echt Smart 😅 Wenn ich das jemandem erklärt habe war mein Beispiel immer viel komplizierter haha 👍

1

Das obliegt nicht dem Nutzer, die Software regelt das. Auch deshalb sollte man vor dem Kauf wissen welche SW man verwendet. Nutzt diese nur wenige Kerne ist es sinnlos viele Kerne zu haben. Damit wird das Ganze eher langsamer als schneller weil die einzelnen Kerne um so langsamer getaktet sind je mehr davon da sind.

Das kannst du nicht.

Das bestimmt in erster Linie der CPU Scheduler von windows und das Programm welches du benutzt.

Programme mit guter Mehrkernoptimierung zu schreiben ist ziemlich schwierig, und oft auch einfach in unnötig