Coeckchen schrieb:
Intel hat mit Broadwell nen L4 eingeführt der damals die GPU gut beschleunigt hat (zumindest so verkauft) und der Prozessor selbst hat davon auch Profitiert bzw für die gleichen FPS weniger takt benötigt (und bekommen)
Ich blick nicht warum AMD nicht den gleichen weg gegangen ist. War das ne Technische oder ne Kaufmännische entscheidung?
Jain. Mehr Speicher mit geringer Latenz und hohem Durchsatz ist immer gut, aber irgendwann steigt halt der Aufwand (Chipfläche, Energie, Finanzen) ohne entsprechenden Mehrwert. Bei dem was an Tests mit übertaktetem Speicher gezeigt wurde, scheint die iGPU über die Speicherbandbreite nur mittelprächtig zu skalieren, was ein Hinweis darauf ist, dass die Speicheranbindung kein akutes Problem darstellt. Möglichkeiten wieso dem so ist und das im Vergleich zum eDRAM von Broadwell/Skylake kann ich allenfalls vermuten. GPU Kram verfolge ich interessiert oberflächlich, aber mehr auch nicht.
Zu aller Erst, es gibt verschiedene Modi die beim Rendern genutzt werden können. Zu Zeiten von Broadwell war "inmidiate Rendering" bei Nvidia, AMD und Intel[1] verbreitet. Mit Maxwell hat Nvidia dann auf "Tiled Caching" umgestellt, wobei damals vermutet wurde, dass Nvidia "Tile Based Rendering" nutzt[2]. Tiled Caching kommt mit "etwas" Overhead beim Rechenaufwand, reduziert jedoch die benötigte Speicherbandbreite und reudziert die Zufälligkeit der Speicherzugriffe[3], wenn man der GPU dafür "etwas" größere Caches spendiert (also damals 2..3MB L2 anstatt >100MB eDram oder gar GB an HBM). Eine Entwicklung die sowieso erforderlich wurde da Compute Shader zu der Zeit mit DirectX12 auch deutlich größer wurden. Da der Bedarf an Speicherbandbreite für alle Anbieter von GPUs auf absehbare Zeit unbeherrschbar wachsen würde, haben alle anderen Anbieter (hier AMD und Intel, ARM Mali und Qualcom Adreno sind schon länger tiled) auch auf Tiled Caching/Rendering umgestellt, bei AMD war es mit Vega und bei Intel habe ich keinen Schimmer.
Das ging auch eine ganze Zeit ganz gut so, bis wir bei der aktuellen Generation an Spielen/Effekten angekommen. Die Modelle sind komplexer, Texturen höher auflösend und teils gestapelt, die Shaderprogramme sind länger mit mehr Parametern, die Fülle an Shadern ist exploriert und wir sind an der Stelle wieder an einem Punkt, wo GPUs die Spiele in voller Pracht rendern sollen irgendwie mehr Speicherbandbreite brauchen. Entsprechend haben die großen Ada Lovelace GPUs 96MB L2 Cache und die großen RDNA3 verhalten gewachsene 6MB L2 und ebenso 96MB beim L3.
Wenn wir nun die iGPU ansehen, die ist vergleichsweise schwach, realistische Einstellungen bei Spielen werden da allenfalls ein Minimum an Grafikqualität einstellen, was das Problem der eskalierenden 3D Modelle, Texturen, Shader massiv entschärft und damit auch den Druck auf die Caches.
Ein weiterer Punkt ist schlicht die Latenz. GDDR Speicher bietet meist vergleichsweise hohe Latenzen, damit kann eine GPU gut leben, da sie im zweifelsfall genügend Jobs hat, damit sie die Pipelines füllen kann, während auf Speicheranfragen für andere Jobs gewartet wird. Die Caches der großen GPUs helfen auch dabei, schlicht wartende Jobs lokal halten zu können. Der (L)DDR5 Speicher der CPUs hat im Regelfall bessere Latenzen, als GDDR. Womit die iGPU tendenziell auch etwas weniger Jobs in Wartestellung im Cache liegen lassen muss.
Naja und eine weitere Möglichkeit wäre noch, dass bei den APUs im Vergleich zu den dGPUs die Größe der Tiles angepasst wurde. Kleinere Teiles bedingen mehr Overhead beim Rechenaufwand, aber verringern die benötigte Speicherbandbreite. Da müsste sich mal jemand den Treiber[4] vornehmen und schauen ob dem so ist
Naja und letztendlich, betriebswirtschaftlich wird da auch gerechnet worden sein. Ich sehe da nicht einen zusätzlichen Verkauf an Spieler, wenn die iGPU mit mehr Cache wenige Prozentpunkte schneller wäre, wenn für das Spielen moderner Titel in FullHD mit höher Qualität das Minimumd as Doppelte an Leistung ist.
[1] Intels eigene GPU Lösungen, das PowerVR Zeug war eklig, aber hat wohl historisch auch Tiles genutzt
[2]
https://www.techpowerup.com/231129/on-nvidias-tile-based-rendering
[3] Je weniger zufällig Speicherzugriffe sind bzw. in je kleineren Speicherbereichen diese erfolgen, desto eher hat man Treffer im Cache und desto besser funktioniert Prefetch
[4] Sowohl Mesa als auch AMDGPU, sind ja beide Quelloffen. Wochenende steht ja an und das Wetter ist auch mies, also viel Spaß
![Breites Grinsen :D :D](/forum/styles/smilies/biggrin.gif)