Pytanie brzmi: co masz na myśli przez flop? Jeśli zależy ci tylko na tym, ile najprostszych operacji zmiennoprzecinkowych przypada na zegar, prawdopodobnie jest to trzykrotnie większa prędkość zegara, ale jest to tak samo bezsensowne jak bogomips. Niektóre operacje zmiennoprzecinkowe zajmują dużo czasu (dzielenie, na początek), dodawanie i mnożenie są zazwyczaj szybkie (jedna na jednostkę fp na zegar). Kolejnym zagadnieniem jest wydajność pamięci. Jest powód, dla którego ostatni klasyczny CRAY miał 31 banków pamięci. Ostatecznie wydajność procesora jest ograniczona przez szybkość odczytu i zapisu w pamięci, więc na jakim poziomie buforowania mieści się twój problem? Linpack był kiedyś prawdziwym testem porównawczym, teraz mieści się w pamięci podręcznej (L2, jeśli nie L1) i jest bardziej teoretycznym testem wydajności procesora. I oczywiście jednostki SSE (itp.) Mogą również zwiększyć wydajność zmiennoprzecinkową.
Jaką dystrybucją prowadzisz?
To wyglądało jak dobry wskaźnik: http://linuxtoolkit.blogspot.com/2009/04/intel-optimized-linpack-benchmark-for.html
http://onemansjourneyintolinux.blogspot.com/2008/12/show-us-yer-flops.html
http://www.phoronix-test-suite.com/ może być łatwiejszym sposobem na zainstalowanie testu porównawczego flops.
Nadal zastanawiam się, dlaczego cię to obchodzi, do czego go używasz? Jeśli chcesz tylko bezsensownej liczby, bogomips twojego systemu jest nadal w dmesg.
najwyraźniej istnieje pakiet testowy „sysbench” i polecenie:
sudo apt-get install sysbench
(lubbrew install sysbench
OS X)uruchom to w ten sposób:
sysbench --test=cpu --cpu-max-prime=20000 --num-threads=2 run
dane wyjściowe do porównań:
ref: http://www.midwesternmac.com/blogs/jeff-geerling/2013-vps-benchmarks-linode
źródło
W przypadku szacunków typu ballpark:
Raspberry Pi 2 : 299,93 * 10 ^ 6 FLOPS ( źródło )
Raspberry Pi 3: 462.07 * 10 ^ 6 FLOPS ( źródło )
Linpack
cd benchmarks_2017/linux/mkl/benchmarks/linpack
./runme_xeon64
Na Thinkpad T460p ( procesor Intel i7-6700HQ ) daje:
źródło
Jednym z wzorców tradycyjnie stosowanych do pomiaru FLOPS jest Linpack. Innym popularnym wzorcem FLOPS jest Whetstone.
Więcej czytanie: Wikipedii „japonki” wejścia , Whetstone wejścia , wejście Linpacka
źródło
Bardzo polecam gotową do uruchomienia kompilację linpacka firmy Intel: http://software.intel.com/en-us/articles/intel-math-kernel-library-linpack-download/
źródło
Jak wspomniałeś o klastrze, skorzystaliśmy z pakietu HPCC . Konfiguracja i dostrojenie wymaga trochę wysiłku, ale w naszym przypadku nie było to chwalenie się, było częścią kryteriów akceptacji dla klastra; niektóre testy porównawcze wydajności są niezbędne IMHO, aby zapewnić, że sprzęt działa zgodnie z reklamą, wszystko jest poprawnie połączone razem itp.
Teraz, jeśli chcesz tylko teoretycznej liczby szczytowej FLOPS, ta jest łatwa. Wystarczy przeczytać artykuł na temat procesora (powiedzmy na realworldtech.com lub jakiś inny), aby uzyskać informacje o tym, ile DP FLOPS może wykonać rdzeń procesora na cykl zegara (przy obecnych procesorach x86, które zwykle wynoszą 4). Zatem całkowity szczyt FLOPS jest po prostu
liczba rdzeni * częstotliwość FLOPS / cykl *
Następnie w przypadku klastra z siecią IB powinieneś być w stanie osiągnąć około 80% szczytowego FLOPS na HPL (który BTW jest jednym z punktów odniesienia w HPCC).
źródło