2012-10-03 20 views
8

Lo sfondo è così: la prossima settimana il nostro ufficio avrà un giorno senza riscaldamento, a causa di manutenzione. La temperatura esterna è prevista tra 7 e 12 gradi Celsius, quindi potrebbe diventare fredda. I riscaldatori elettrici portatili sono troppo pochi per soddisfare tutti.Quali istruzioni della CPU consumano più energia?

Tuttavia, ho, nel mio ufficio di circa 6-8 m2, una grande workstation honkin (3 anni) (HP xw8600 con Xeon quad-core 3,0 GHz) che dovrebbe essere in grado di emettere un paio di centinaia di watt di calore L'esecuzione di Furmark comporterà il massimo della GPU, ma non sono sicuro di come utilizzare al meglio la CPU.

L'ultima volta che mi trovavo in un ufficio freddo ho compilato più spesso o appena lanciato DOSBox 4-8: esegue Norton Commander, ma penso che si possa fare meglio usando SSE1-2-3-4, MMX ecc. cioè roba che fa più lavoro per ciclo.

Quindi, quali istruzioni della CPU commutano la maggior parte dei transistor ogni ciclo, e quindi l'uso fanno sì che la CPU assorba la maggior parte della potenza e quindi emetta il massimo calore?

Se avessi a disposizione un misuratore di potenza, potrei fare un benchmark, ma immagino che questa sarebbe una sfida divertente per il SO-crowd. :)

+3

Stai riscaldando l'ufficio con un punto di riferimento? Un po 'MacGyver-esque, non credi? ; o) –

+0

La schermata di Cathodique può aiutare un po '. –

+1

@ KaiMattern: MacGyver era il mio soprannome a scuola. Vai a capire. :) – Macke

risposta

6

Per l'obiettivo specifico, se si desidera utilizzare il proprio sistema come generatore di calore, è necessario innanzitutto verificare che il sistema di raffreddamento funzioni correttamente (eliminando il calore dalla scatola). I processori oggi sono progettati per limitare se stessi quando raggiungono una temperatura critica che si verifica quando viene utilizzato un dissipatore adeguato e il processore è in TDP (Thermal Design Power è la potenza massima per il processore che utilizza i programmi normali). Se si dispone di un dissipatore di calore migliore e di una buona ventilazione (ventola della scatola?), È possibile andare oltre il TDP presumendo che l'alimentazione sia in grado di gestirlo. Se spegni la ventola, in pratica raggiungerai immediatamente il limite termico.

Per essere più espliciti, le singole istruzioni che bruciano di più sono generalmente istruzioni di caricamento che mancano nella cache e vanno alla memoria. Per garantire errori, ti consigliamo di allocare un blocco di memoria più grande della cache della CPU di ultimo livello e saltare in quella memoria. Lo schema di hopping nel caso di potenza massima è un po 'complesso perché stai cercando di ottenere il numero massimo di errori in sospeso a ogni livello della gerarchia della cache simultaneamente. Se si dispone di 3 livelli di cache, in un dato periodo di tempo, è possibile avere più missioni su L1 di quanto sia possibile per L2 di quanto non sia possibile per L3 di quanto non sia possibile per la pagina DRAM. (E il design specifico del tuo processore avrà un limite totale di errori.) Tra un errore, l'istruzione non conta molto, ma suppongo che uno dei multipli di SSE4 (PMULUDQ) sia probabilmente il migliore dal momento che su molti processori moderni, eseguono abbastanza velocemente e generalmente fanno un sacco di lavoro (rispetto a un addiziona).

La cosa divertente è che l'esecuzione della GPU può limitare la quantità di calore che è possibile generare utilizzando i miss della cache L3 poiché la memoria potrebbe essere bloccata dalla GPU. In tal caso, dovresti assicurarti che tutti gli accessi alla L3 siano positivi, ma che manchi negli altri livelli.

+1

Essere in TDP è probabilmente sufficiente. Non c'è bisogno di masterizzare letteralmente la CPU. Tuttavia, mi piacerebbe vedere qualche convalida sulla tua affermazione circa i miss della cache che bruciano il potere. Mi aspetto che la CPU sia inattiva e in attesa di memoria per 15-200 cicli. @ commento di osgx w.r.t. SIMD sopra è più per la mia intuizione .... – Macke

+0

Hai ragione che se tutto ciò che stavi facendo fosse un errore di cache, questo non avrebbe bruciato abbastanza energia, ma come suggerisco sopra, vuoi scrivere un codice che manchi costantemente nel cache * e * utilizzano il processore il più possibile tra le istruzioni. Inoltre, essere sopra il TDP non significa che brucerai la CPU. TDP è solo una specifica per il sistema di raffreddamento. Se si dispone di un sistema di raffreddamento migliore, può gestire di più. –

+0

Ok. Tutto ha un senso. Grazie! – Macke

0

Per CPU utilizzare Prime95. Questo è leggero e caricherà bene tutti i core. Non riuscirai a ottenere molto calore da un xeon 3ghz. I chip di quell'età sono generalmente buoni per oltre 4 ghz con raffreddamento medio e vicino a 5 ghz con circuiti d'acqua di fascia alta. Con un chip 6-core @> 4ghz con una tensione in più aggiunta potresti colpire 200w TDP ma con quel sistema sarai fortunato ad ottenere la cpu a 100w.

Per quanto riguarda la GPU, il Benchmark Heaven è un buon modo per portarlo rapidamente alla temperatura. Di nuovo, a meno che tu non abbia una carta di fascia alta, un paio di centinaia di watt di calore sono improbabili. Un'altra alternativa su AMD gpus (forse anche nvidia?) è quello di utilizzare il software di mining crpto-currency, magari ottenere una chiavetta USB con una distribuzione linux di mining installata e pronta per l'uso. Si potrebbe anche usare Prime95 sullo stesso rig come il software di mining utilizza pochissimo tempo di CPU.

In realtà ho tenuto un paio di stanze calde durante l'inverno con il calore di un computer, solo raramente ho bisogno di riscaldamento extra. Ciò è stato fatto con un impianto di estrazione mineraria cripto-moneta, che aveva 4 gpus in funzione a ~ 80 gradi C, 24 ore su 24, 7 giorni su 7, con un ventilatore a cassone per far circolare l'aria intorno alla stanza. Quel rig aveva un alimentatore da 1300 Watt. Potrei suggerire che invece di cercare di usare il computer per tenerti al caldo, indossi più vestiti?

1

Per la grafica GeForce, il mio programma CudaMFLOPS (gratuito) è molto utile per ottenere temperature elevate sulla scheda grafica. Se si dispone di un adeguato dati della carta sono:

http://www.roylongbottom.org.uk/cuda1.htm#anchor8

trovo che il mio test che eseguono istruzioni SSE con i dati dalla cache L1 producono generalmente le temperature più alte della CPU.

Problemi correlati