PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Was sind "typische" Rechenoperationen?


nonharderware
2022-02-05, 14:13:16
Hallo,

oft wird kritisiert, dass synthetische Benchmarks nur das Abschneiden in sich selbst benchen und keinen/wenig Praxisbezug haben.

Daher jetzt meine Frage als Entwickler:
Was sind "typische" Rechenoperation einer CPU in Anwendung bzw. Spielen?
Welche Kalkulationen werden in Spielen besonders oft benötigt während sie beispielsweise in der Bildbearbeitung kaum vorkommen und vice versa?


Danke!

Brillus
2022-02-05, 15:57:16
Ich würde mal sagen grundsätzlich sind Spiele mehr FPU als andere Sachen. Aber das Hauptproblem wird nicht das was sondern das wie sein. Spiele haben typischerweise mehr unpredictable jumps daher reagieren die meisten auch so gut aif große Caches und schnelles Cache/Ram System.

Wuge
2022-02-06, 13:37:00
Die Art der Rechenoperationen ist bei Programmen/Spielen quasi irrelevant. Genug ALUs/FPUs sind immer vorhanden, die würden höchstens beim Numbercrunching oder encoden zum Flaschenhals werden (bzw. die Bandbreite).

Spiele scheinen wie Brillus schon sagt recht unvorhersehrbare Codesprünge/Branches zu haben. Einzig entscheidend ist daher, wie schlimm das Penalty bei einem Pipelinestal ist, wie gut die Branch Predictor funktionieren und was das Cache/Memory-Subsystem kann.

iamthebear
2022-02-07, 10:00:06
1.) Bei Spielen wird eine größere Menge an Daten gleichzeitig verwendet, die nicht mehr in den L1/2 passt. Deshalb ist die L3 Größe sowie Speicherlatenzen wichtig.
Eine weitere Eigenart: Diese sind zwar multithreaded (wodurch der L3 knapp wird), jedoch ist die Threadanzahl so weit begrenzt, dass SMT nicht zum Einsatz kommt. Dadurch kann man Cache Misses schlechter verstecken bzw. profitieren diese mehr von Latenzen als von Durchsatz (Durchsatz nicht mit Bandbreite verwechseln).

2.) Bei restlichen Anwendungen ist das Problem, dass synthetische Benchmarks meistens deutlich besser mit vielen Kernen skaliert als reale Anwendungen. Das gilt oft auch für die integrierten Benchmarks.