Hallo zusammen! Ich wollte mal fragen, ob ich es richtig verstehe, dass in meinem Fall hyperthreading stört…

Und zwar benutze ich eine Simulationssoftware, die bis zu 4 Threads gleichzeitig verwenden kann. Meine CPU ist ein i7 mit 4 Kernen und 8 Threads durch hyperthreading. Wenn die Simulation läuft, ist meine CPU zu 50% durch diese ausgelastet.

Wenn ich hyperthreading jetzt ausschalte, wird dann damit die CPU zu 100% verwendet, weil die 4 Threads exakt auf die 4 Kerne passen, oder habe ich da etwas übersehen? Das sollte ja die Rechenzeit etwa halbieren.

  • Malossi167@feddit.de
    link
    fedilink
    arrow-up
    7
    ·
    2 years ago

    Hyperthreading macht nicht aus 4 Kernen plötzlich 8. Es erlaubt lediglich mehr oder weniger 2 Aufgaben gleichzeitig auf einem Kern laufen zu lassen was im Bestfall ~20% extra Leistung für einen recht geringen Hardware Aufwand bringt. Also auch wenn HT aktiviert ist, sollte ein Programm mit 4 Threads die CPU mehr oder weniger vollständig auslasten können. Es gibt allerdings einige Programme, die immer noch nicht gut mit HT klar kommen, also zb zwei Hauptaufgaben über HT auf dem selben Kern laufen lassen und so letztlich langsamer laufen als ohne HT. Sollte aber bei moderner Software wirklich selten sein, HT gibt es schließlich seit über 20 Jahren.

      • aksdb@feddit.de
        link
        fedilink
        arrow-up
        3
        ·
        2 years ago

        Als erstes würde ich hinterfragen, wie diese Auslastung bestimmt wird, auf die du da schaust. Das hängt ziemlich sicher von der jeweiligen Monitoring Anwendung ab.

        • Senchanokancho@feddit.deOP
          link
          fedilink
          arrow-up
          1
          ·
          2 years ago

          Windows task Manager… bisher hat das immer Sinn ergeben, wenn ich Benchmarks laufen lasse, die alles auslasten, geht der auf 100% hoch.

          • taladar@feddit.de
            link
            fedilink
            arrow-up
            4
            arrow-down
            1
            ·
            2 years ago

            50% wenn du 4 Cores zu 100% und 4 Cores zu 0% ausnutzt ergibt doch auch Sinn. Und 12.5% für jeden der Threads die jeweils 1/8 deiner Cores voll auslasten.