Musisz znać model i dostawcę procesorów w swoim komputerze. Gdy już to zrobisz, możesz sprawdzić na stronie internetowej dostawcy (lub może na Wikipedii) częstotliwość taktowania, liczbę układów / gniazd, liczbę rdzeni na układ, liczbę operacji zmiennoprzecinkowych na cykl i szerokość wektorową tych operacji . Następnie po prostu pomnożymy.
Weźmy na przykład procesory „Sandy Bridge” Intel Xeon E5-2680 w Stampede, gdzie pracuję. Dane techniczne to:
- 2,7 GHz
- 2 układy / węzeł, 8 rdzeni / układ
- 2 instrukcje wektorowe / cykl
- 256-bitowe instrukcje AVX (4 równoległe operandy o podwójnej precyzji)
Pomnożenie ich daje 345,6 GF / węzeł lub 2,2 PF dla nieprzyspieszonej części systemu.
Zwykle myślimy w kategoriach operacji podwójnej precyzji (64-bit), ponieważ taka precyzja jest wymagana dla zdecydowanej większości naszych użytkowników, ale możesz powtórzyć obliczenia w kategoriach pojedynczej precyzji, jeśli chcesz. Zwykle zmienia to tylko ostatni czynnik, powiedzmy 8 SP Flops / instrukcja zamiast 4 DP Flops / inst, ale może być bardzo różny od tego. Na przykład starsze układy GPU miały DP tylko około 1/8 stopnia SP. Jeśli kiedykolwiek podasz liczbę dla swojego systemu, powinieneś wyraźnie określić, której użyto, jeśli nie jest to podwójna precyzja, ponieważ ludzie zakładają, że tak było.
Ponadto, jeśli twój układ obsługuje stopione instrukcje wielokrotnego dodawania (FMA) i może to robić z pełną szybkością, to większość ludzi liczy to jako 2 operacje zmiennoprzecinkowe, chociaż licznik wydajności sprzętu może liczyć to tylko jako jedną instrukcję.
Na koniec możesz to zrobić dla wszystkich akceleratorów, które mogą istnieć w twoim systemie (takich jak GPU lub Xeon Phi) i dodać tę wydajność do wydajności procesora, aby uzyskać teoretyczną sumę.