Wie bei Matlab Anzahl von Operationen zählen?

...komplette Frage anzeigen

1 Antwort

Je nach Verfahren kann man auf Papier selbst ausrechnen, wie viele Additionen und Multiplikationen gebraucht werden. Davon abgesehen ist das aber nicht wirklich das, was die Rechenleistung limitiert.

Viele Aufgaben werden durch die Bandbreite des Speichers (RAM, Caches) limitiert. Ich habe an einem Programm gearbeitet, das mehrere hundert Millionen Gleichungen in einem Gleichungssystem löst. Der limitierende Faktor hier ist die Bandbreite des RAMs, weil wir pro Rechenoperator (FLOP, FLoating point OPeration) ungefähr 1 Byte laden müssen. Dies gibt uns eine arithmetische Intensität von ungefähr 1, der Intel Xeon Phi Knights Landing braucht aber mindestens 16 um voll ausgelastet zu sein.

Letztlich ist das einzige, was wirklich zählt, die “Time to Solution”. Diese kannst du mit der Stoppuhr nehmen. Es ist wenig hilfreich, wenn ein Verfahren zwar mit weniger Rechenschritten auskommt, dafür aber durch den RAM limitiert wird und effektiv am Ende langsamer ist.

Was möchtest Du wissen?