Vous devrez connaître le modèle et le fournisseur des CPU de votre machine. Une fois que vous avez cela, vous pouvez rechercher sur le site Web du vendeur (ou peut-être sur Wikipedia) la fréquence d'horloge, le nombre de puces / sockets, le nombre de cœurs par puce, le nombre d'opérations en virgule flottante par cycle et la largeur vectorielle de ces opérations . Ensuite, vous multipliez simplement.
Prenez, par exemple, les processeurs Intel Xeon E5-2680 "Sandy Bridge" de Stampede où je travaille. Les spécifications sont les suivantes:
- 2,7 GHz
- 2 puces / nœud, 8 cœurs / puce
- 2 instructions vectorielles / cycle
- Instructions AVX de 256 bits de large (4 opérandes double précision simultanés)
La multiplication de ces données donne 345,6 GF / nœud ou 2,2 PF pour la partie non accélérée du système.
Nous pensons généralement en termes d'opérations en double précision (64 bits), car c'est la précision requise pour la grande majorité de nos utilisateurs, mais vous pouvez refaire le calcul en termes de simple précision si vous le souhaitez. Cela ne change généralement que le dernier facteur, disons 8 SP Flops / instruction au lieu de 4 DP Flops / inst, mais cela peut être très différent de cela. Les GPU plus anciens, par exemple, ne faisaient que le DP à environ 1/8 du taux de SP. Si jamais vous citez un nombre pour votre système, vous devez être explicite sur ce que vous avez utilisé si ce n'est pas en double précision car les gens penseront que c'est le cas, sinon.
De plus, si votre puce prend en charge les instructions FMA (Multiply-Add) fusionnées, et qu'elle peut les faire à plein débit, la plupart des gens comptent cela comme 2 opérations à virgule flottante, bien qu'un compteur de performances matérielles puisse le compter comme une seule instruction.
Enfin, vous pouvez également le faire pour tous les accélérateurs qui pourraient exister dans votre système (comme un GPU ou Xeon Phi) et ajouter ces performances aux performances du processeur pour obtenir un total théorique.