Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Frage zum aktivieren/deaktivieren der Threads einer CPU.
Hallo, ich habe ein Mainboard ASUS x99-s, und einen Prozessor mit 12 Cores mit 24 Threads. Wie kann ich einstellen das die 12 Cores direkt benutzt werden und nicht geteilt werden.
Weil wenn die HT Kerne abgeschaltet werden sinkt die Leistung der CPU ... diese HT Kerne sind auch Physisch vorhanden und nicht einfach durch eine Software erzeugt.
Wieviele Kerne von den jeweiligen Programmen verwendet werden (können), hängt vor allem von der Art der Programmierung ab. Mehr Leistung kannst du einer Verarbeitung bicht zu teilen, als sie benötigt, ausser die anderen Kerne sind bereits durch andere Tätigkeiten vergeben; das kannst aber nur du dann einschränken, indem du nicht soviel gleichzeitig anstößt.
Ich habe einzelne Berechnungen zu laufen. Habe 12 Kerne und damit 24 Traits . Bei der Nutzung der Traits wird aber auch die Leistung des Physischen Kerns halbiert. Ich möchte deswegen lieber nur die 12 Kerne mit voller Leistung (12 parallele Berechnungen) nutzen. Dadurch halbiert sich die Zeit der einzelnen Berechnungen, und das ist für viele Anwendungen wichtiger. Mag bei weniger Kernen nicht so eine wichtige Rolle spielen...! ?
Deine Überlegungen (Halbierung der Leistung) stimmt natürlich gar nicht. Ein Kern arbeitet natürlich nicht kontinuierich voll durch - er legt oft zwischendurch viele Verschnaufpausen ein. Diese "tote" Zeit kann man für andere Aufgaben nützen. Ja, ein weiterer Thread kostet etwas, aber über das Ganze betrachtet hat man dennoch einen erheblichen LeistungsDurchsatzGewinn durch Multithreading.
Hallo Ösi, da magst du recht haben, aber ein kern hat bei mir nur ca. 2,3 GHz und wenn ich den teile ist die Leistung für manche Berechnungen zu gering.
nochmal du Teilst keine Kerne ... nicht komplett. HT hat ja auch eigene Resorrcen könnte natürlich sein das etwas anderes dann Limitiert und du daher nicht die Volle Leistung hast.
Daher sind deine Betrachtungen das die Leistung um 50 % absinkt wohl falsch.
Am Ende ist es doch egal wenn du 12 Berechnungen machst dann teste das mal mit und ohne HT und du siehst es wohl genauer.
Bei HT wird nix geteilt. Thread 1 2 3 und 4 laufen so oder so mit 100%. Egal ob HT an ist oder nicht. Mit HT hat du halt zusätzlich die Option Thread 5 6 7 und 8 parallel mit ~20% "nebenbei" laufen zu lassen.
HT dient eigentlich einzig und allein der besseren Auslastung der CPU. Während eine CPU ohne HT beim Prozesswechsel ein paar Takte nichts tun kann, weil sie auf neue Daten warten muss, wird bei einer CPU mit HT im Hintergrund schon der nächste Prozess vorbereitet, sodass beim Wechsel direkt weitergearbeitet werden kann.
Wenn HT wirklich so schlecht wäre, würde es ja keiner nutzen. Und vor allem wären Intels Server CPUs richtig bescheuert. Die haben pro physischem Kern 4 Threads. Also quasi doppeltes HT
Aber: Es kann natürlich sein, dass deine spezielle Software schlecht programmiert wurde oder dass sich der Algorithmus nicht beliebig skalieren lässt. Dann kann es sehr gut sein, dass sogar eine 4x4GHz CPU deutlich schneller ist als eine 12x2,3GHz CPU.
Sobald der Algorithmus es erfordert, dass die Threads Daten untereinander austauschen, kann HT bremsen. Aber das klingt im Normalfall eher nach undurchdachtem Code.
Starki, kann es sein, dass du einfach mehr Prozesse gestartet hast als Kerne verfügbar sind? Sprich du startest 24 Prozesse, obwohl nur 12 Kerne da sind. So teilt man den virtuellen Threads die gleiche Aufgabe zu wie den echten Kernen, was die Berechnung enorm verlangsamen kann. Lass HT einfach an und starte lediglich 12 Prozesse.