|
panzone |
.primate.
Registered: Sep 2010
Posts: 63 (0.01 al dì)
Location: Vigevano
Corso: Informatica
Anno: 2
Time Online: 16:10:18 [...]
Status: Offline
Edit | Report | IP: Logged |
Non è particolarmente complicata. La prima cosa è ricavare la ( teorica ) potenza di calcolo. Questo è facile poichè:
4 ( numero core ) * 8 ( numero unità di calcolo per core ) * 4 ( numero di float nel bus ) * 4 ( frequenza CPU ) = 128 GFLOPS.
Ora, sapendo che il bus dati fornisce 2 Gb al secondo, si determina che il punto di "rottura" delle prestazioni si ha a 128 / 2 = 64.
Questo significa che tutti e 6 i programmi di benchmark son limitati dalla memoria.
Ora, l' intensità aritmetica è un indice della quantità di "richieste" che una CPU necessita di fare alla memoria durante l' esecuzione di quel programma. Questo significa che, essendo limitati dalla memoria:
Tempo di calcolo = Flops / Banda * IntensitÃ
( N.B. Io posso permettermi di ignorare le varie potenze di 10 perchè sia banda che Flops son 10^9, ma solo nel mio caso )
(N.B.2 Teoricamente il Flops nella formula non è quello della CPU ma quello del programma ( ovvero una stima del numero di operazioni che il programma eseguirà ). Visto che però son benchmark, possiamo assumere che cerchino di spremere il massimo della CPU ).
Ergo, il primo programma ha una velocità di esecuzione teorica di:
128 / (1/4) * 2 = 256 ( P.S. Sembra un numero immenso, ed effettivamente lo è, tuttavia 1/4 signfica che il programma esegue 4 accessi alla memoria per ogni operazione aritmetica in media. E abbiamo visto prima che il problema della nostra CPU è la banda molto limitante ).
Notiamo che più saliamo, più il valore di tempo si riduce perchè si riduce il bottleneck dato dalla memoria lenta. Difatti, ad esempio
128 / 32 * 2 = 2 secondi. Questo perchè il programma esegue una media di 32 operazioni per ogni accesso alla memoria, e nel nostro caso è una manna che ci avvicina al caso "ideale".
Il consiglio maggiore che posso darvi è semplicemente ricordarvi com' è strutturato il grafico del rooftline. Una volta che si ha in testa quello è facile far tornare tutto.
Last edited by panzone on 21-09-2013 at 17:15
|