Da qualche tempo mi sono accorto di una simpatica conseguenza della limitazione di potenza (power limiting) su GPU Nvidia, molto facile da ottenere su Linux anche senza alcuna esperienza in overclocking, downvolting, ecc... La simpatica conseguenza è che aumenta di parecchio l'efficienza energetica.
Su Linux Ubuntu, se avete 1 sola GPU, per esempio basta eseguire il comando:
sudo nvidia-smi -pl $WATT
dove $WATT è la potenza massima desiderata.
Ho fatto delle prove con la mia unica scheda, una GTX 1060 3GB (tdp 120W coincidente fortunatamente con il consumo), ma sarebbe interessante raccogliere nel thread osservazioni per differenti modelli, nuovi o vecchi che siano.
Tornando alla GTX 1060, a dicembre 2020 ho fatto misurazioni alla presa e i watt consumati sono abbastanza fedeli rispetto a quelli settati lato software.
i5-4590 + gtx1060
BOINC: 1 GPUGRID + 3 WCG:OPN
Limite GPU vs Consumo PC (W)
60 154
70 164
80 175
90 186
100 197
110 207
120 215
130 215
140 215
In pratica da 60 a 120W un step lato software di 10W è trasferito abbastanza fedelmente come consumo del PC. Con valori oltre 120 non si riscontrano differenze significative in consumi-prestazioni su questa configurazione "stock".
Misurazioni recenti in idle non ne ho, accontentiamoci di questi valori misurati luglio 2019.
i5-4590: <=90W full load
i5-4590+GTX1060: <=115W cpu full load, gpu idle; <=210 cpu full load, gpu full load.
cioè nella prima configurazione avevo solo la CPU montata nel PC, che consumava alla presa meno di 90W elaborando al 100%.
Nella seconda configurazione avevo montato anche la GTX 1060 e e i consumi della GPU per differenza erano 25W (=115W-90W) in idle e 120W (=210W-90W)elaborando al 100% (sicuramente avrò scelto un progetto con i maggiori consumi tipo GPUGRID o PrimeGrid).
Se la matematica non è una opinione e tenendo conto delle incertezze che non ho di certo misurato, possiamo concludere che, non voglio dire sempre, ma almeno molto spesso
la mia GTX1060 consuma esattamente il valore dichiarato lato software (occhio, questa cosa non è sempre vera; per la GTX 750Ti qualche anno fa riscontravo che il software fissava il valore max a 38W e alla presa misuravo 60W).
Detto ciò, passiamo a ciò che ci interessa.
A ottobre 2020 ho fatto qualche test sull'applicazione TF di SRBase, sullo stesso batch di wu, segnandomi questi valori.
Limite Crediti giornalieri
60W 190373cr
70W 204218cr
80W 216000cr
90W 225542cr
100W 230873cr
110W 236463cr
120W 237966cr
130W 242854cr
140W 244705cr
(non ho misurato il consumo)
Limitando a 120W i crediti prodotti per watt erano 237966cr/120W = 1983cr/W.
A 60W invece 190373cr/60W = 3173cr/W.
La seconda configurazione esaminata è risultata più efficiente della prima per un fattore 3173/1983=1.6.
O anche sull'applicazione GFN-1x Small Primes di Private GFN Server oggi posso stimare i seguenti.
Limite(W) Tempo GPU(s) Tempo CPU(s) Crediti medi per wu
60 3259 169 758
120 2410 204 746
Il risultato è abbastanza eloquente. A 60W la GPU produce un RAC giornaliero di 20095cr mentre a 120W ne produce uno di 26744cr.
Affiancando due GTX 1060 limitate a 60W si produrrebbero 40190cr consumando in tutto 120W.
Quindi, il miglioramento di efficienza per questa particolare applicazione è 40190/26744=1.5, ovvero 150% o se vogliamo +50%.
Tornando alla mia vecchia GTX 750Ti che full load consumava proprio 60W alla presa e rispetto alla GTX 1060 senza limitazioni (120W) aveva un RAC (qui vado a memoria) da 2.3 a 2.7, mediamente 2.5, volte inferiore, possiamo fare un ulteriore confronto:
Efficienza della GTX 1060 senza limitazioni (120W): 1
Efficienza GTX 1060 limitata a 60W: 1.5
Efficienza GTX 750Ti: (120/60)/2.5=0.8
Efficienza della seconda rispetto alla terza: 1.5/0.8=1.875