FLOPS berechnen
-
Hallo.
Die Anzahl an FLOPS berechnet man mit der Nummer an logischen Kernen Mal Frequenz geteilt durch die Anzahl an Instruktionen per Zyklus.
Klingt ja an sich ganz einfach, aber wie ermittelt jemand, der noch nie tiefer als in C eingedrungen ist die Anzahl an Instruktionen per Zyklus?
Noch eine Frage: Ich bau ne Schleife, dessen Rumpf nichts anderes tut als zwei Zahlen mit Nachkommastellen zu dividieren (ohne Zuweisungsoperator) und einen Counter inkrementieren. Ich messe dabei die Zeit einer einzelnen Zeile (die Division) und messe nicht wenn ich inkrementiere. Nach einer Sekunde wird abgebrochen.
Ist das auch ein Weg die FLOPS zu berechnen oder gibts da noch Zusätzliches, was ich berücksichtigen muss?
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
FLOPS sind Fließkommaoperationen pro Zeit. Wie die zustande kommen, ob das über viele Kerne, viele Zyklen, viele Operationen pro Zyklus, oder ganz was anderes geschieht, das ist völlig egal. Die Zahl kann auch stark davon abhängen, was man überhaupt konkret macht. Man wird selten das theoretische Hardwarelimit erreichen.
Entsprechend erfolgt die Messung dadurch, dass man entweder eine gewisse Anzahl Instruktionen ausführt, und guckt, wie lange es dauert; oder indem man eine gewisse Zeit lang laufen lässt, und guckt, wie viele Operationen man ausgeführt hat.
-
Da gibts doch was im Internet.
-
hier gibt es einen ganz guten Artikel dazu:
https://www.bernd-leitenberger.de/benchmark.shtml