Dovrai conoscere il modello e il fornitore delle CPU nella tua macchina. Una volta che lo hai, puoi cercare sul sito Web del fornitore (o forse su Wikipedia) la frequenza di clock, il numero di chip / socket, il numero di core per chip, il numero di operazioni in virgola mobile per ciclo e la larghezza vettoriale di tali operazioni . Quindi, semplicemente si moltiplica.
Prendi, ad esempio, i processori Intel Xeon E5-2680 "Sandy Bridge" di Stampede, dove lavoro. Le specifiche sono:
- 2.7GHz
- 2 chip / nodo, 8 core / chip
- 2 istruzioni vettoriali / ciclo
- Istruzioni AVX con larghezza di 256 bit (4 operandi simultanei a doppia precisione)
Moltiplicando quelli si ottiene 345,6 GF / nodo o 2,2 PF per la parte non accelerata del sistema.
Di solito pensiamo in termini di operazioni a doppia precisione (64 bit), perché questa è la precisione richiesta per la stragrande maggioranza dei nostri utenti, ma se lo desideri puoi ripetere il calcolo in termini di precisione singola. Questo di solito cambia solo l'ultimo fattore, diciamo 8 flop / istruzioni SP invece di 4 flop / inst DP, ma può essere molto diverso da quello. Le GPU più vecchie, ad esempio, hanno fatto DP solo a circa 1/8 della velocità di SP. Se mai citi un numero per il tuo sistema, dovresti essere esplicito su quale hai usato se non è doppia precisione perché la gente supporrà che lo fosse, altrimenti.
Inoltre, se il tuo chip supporta istruzioni FMA (Fly) moltiplicate e può eseguirle alla massima velocità, la maggior parte delle persone lo considera come 2 operazioni in virgola mobile sebbene un contatore delle prestazioni hardware possa considerarlo come una sola istruzione.
Infine, puoi anche farlo per tutti gli acceleratori che potrebbero esistere nel tuo sistema (come una GPU o Xeon Phi) e aggiungere quelle prestazioni alle prestazioni della CPU per ottenere un totale teorico.