Warum erzeugen kleine FFTs in Prime95 die meiste Wärme, obwohl die CPU bei allen Optionen 100% beträgt?

9

Ich habe gerade einen neuen Skylake-PC gebaut und werde mit Prime95 als Stresstester ein bisschen übertakten.

Im normalen Gebrauch funktioniert es einwandfrei, aber mit Prime95 bemerke ich unter bestimmten Belastungen ein wenig CPU-Drosselung.

Wenn alle 4 Kerne (8 Threads) unabhängig davon zu 100% blockiert sind, warum erreicht die Einstellung für kleine FFT in Prime95 eine höhere Temperatur als die Option "Mischen"?

ChrisA
quelle

Antworten:

13

Vektorisierter Code, insbesondere AVX, erhöht natürlich die CPU-Wärmeabgabe, da der Prozessor mit einer höheren Spannung arbeiten muss, um diese Anweisungen auszuführen. Kleine FFTs benötigen weniger Speicher als der Mischmodus, sodass der Prozessor mehr Zeit für die Datenverarbeitung und weniger Zeit für das Warten auf Daten benötigt.

  • Die x86-64-Architektur bietet umfangreiche Vektorverarbeitungsfunktionen , insbesondere auf den neuesten Prozessoren. Die Vektorverarbeitung ermöglicht es Anwendungen, mathematische Operationen an mehreren Datenelementen gleichzeitig auszuführen, und wird von vielen neueren rechenintensiven Anwendungen verwendet, um den Verarbeitungsdurchsatz zu erhöhen.

  • Bei vektorisiertem Code, insbesondere den von Prime95 verwendeten AVX- Anweisungen, muss der Prozessor mit einer höheren Spannung als normal arbeiten. Dies führt zu einem höheren Stromverbrauch und einer höheren Wärmeabgabe als bei normaler Arbeitsbelastung. Aus diesem Grund warnt Intel, dass AVX-schwere Lasten dazu führen können, dass der Prozessor drosselt oder die vollen Turbo-Boost-Taktraten nicht aufrechterhält (Fußnote 1):

    Intel® Advanced Vector Extensions (Intel® AVX) wurden entwickelt, um einen höheren Durchsatz für bestimmte Ganzzahl- und Gleitkommaoperationen zu erzielen. Aufgrund unterschiedlicher Prozessorleistungseigenschaften kann die Verwendung von AVX-Anweisungen dazu führen, dass a) einige Teile mit weniger als der Nennfrequenz arbeiten und b) einige Teile mit Intel® Turbo Boost Technology 2.0 keine oder maximale Turbofrequenzen erreichen.

    Intel erklärt dies im weiteren Detail in diesem Whitepaper . Insbesondere stellt es fest:

    Intel AVX wurde entwickelt, um einen höheren Durchsatz für bestimmte Ganzzahl- und Gleitkommaoperationen zu erzielen. Die Verwendung dieser Anweisungen kann dazu führen, dass Prozessoren mit weniger als der angegebenen TDP-Frequenz arbeiten. Diese Frequenzverringerungen treten auf, weil leistungsstarke Intel AVX-Anweisungen zusätzliche Spannung und elektrischen Strom erfordern.

    • Ich vermute, dass das Verstärken des V- Kerns für AVX-Anweisungen erforderlich ist, da die AVX-Ausführungseinheiten komplexer sind als die anderen Teile des Prozessors, was zu entsprechenden Pipeline-Phasen führt, deren Abschluss länger dauert ( weitere technische Informationen zu Pipelines finden Sie in dieser Antwort und andere Aspekte des Prozessordesigns). Wenn eine bestimmte Pipeline-Stufe langsam ist, ist die maximale Taktrate des gesamten Prozessors begrenzt, da jede Stufe in der Pipeline innerhalb jedes Taktzyklus beendet werden muss.

    • Aus dem gleichen Grund erhöhen höhere Spannungen die maximal erreichbaren Frequenzen beim Übertakten (Transistoren können bei höheren Spannungen schneller schalten). Eine Erhöhung der Spannung trägt dazu bei, dass die längeren Pipeline-Stufen rechtzeitig beendet werden können.

  • Der Small FFT-Modus verwendet nur kleinere Datenelemente, die in den CPU-Cache passen, im Gegensatz zum Blend-Modus, der sowohl kleine als auch große Werte verarbeitet, die möglicherweise nicht in den Cache passen. Da der Zugriff auf den Speicher im Vergleich zur einfachen Datenverarbeitung langsam ist, verbringt der Prozessor weniger Zeit damit, Daten im Mischmodus zu verarbeiten, wodurch die Wärmeabgabe verringert wird. Kleine FFTs erfordern nicht annähernd so viele Speicherzugriffe, was zu mehr tatsächlicher Arbeit für die CPU führt, wodurch der Stromverbrauch und die Wärmeabgabe erhöht werden.

bwDraco
quelle
Dank @DragonLord werden die verschiedenen Prime95-Modi sehr deutlich. Bitte würden Sie Ihre Antwort erweitern, um zu erklären, warum der Ressourcenmonitor in beiden Fällen 100% anzeigt. Warum liest es beispielsweise im Mischmodus nicht weniger als 100%, wenn es häufiger auf Daten wartet als im Small FFT-Modus?
ChrisA
1
Die CPU, die auf Speicher wartet, wird dem Betriebssystem nach meinem Verständnis immer noch als ausgelastet gemeldet.
bwDraco