Biblioteki matematyczne są bardzo często porównywane na podstawie FLOPS. Jakie informacje są mi przekazywane, gdy wyświetlana jest fabuła FLOPS vs size z zestawami punktów dla kilku różnych bibliotek matematycznych?Dlaczego biblioteki matematyczne są często porównywane przez FLOPS?
FLOPS jako miara wydajności miałoby dla mnie więcej sensu, gdyby porównanie dotyczyło dwóch implementacji tego samego algorytmu lub tego samego oprogramowania na dwóch różnych elementach sprzętowych. Nie rozumiem, dlaczego jest to odpowiedni lub popularny sposób porównywania rzeczy takich jak mnożenie matrycy macierzowej.
Czy implikacja polega na tym, że algorytmy leżące u podstaw są prawie takie same, a kod, który najszybciej przenosi jednostki zmiennoprzecinkowe, minimalizując narzut?
Przykłady obfitują.
http://eigen.tuxfamily.org/index.php?title=Benchmark
https://code.google.com/p/blaze-lib/wiki/Benchmarks
Z drugiej strony, te Lapack i Armadillo benchmarki używać czas bezwzględny dla danej operacji, która ma większy sens dla mnie.
http://www.netlib.org/lapack/lug/node71.html
http://arma.sourceforge.net/speed.html
Stosowna:
What is FLOP/s and is it a good measure of performance?