News Radeon R9 390(X): AMD spricht über den HBM-Grafikspeicher von Fiji

johnniedelta

Die letzten Gerüchte sprachen davon, dass Anfangs die Revision 1 mit 4gb geplant waren. AMD aber dann eben dazu entschied am Design noch was zu ändern und 8 GB zu releasen.
Diese Gerüchte kamen aber, soviel ich mich erinnere erst nach den Leaks über die R9 390X
094646q0lldu88l1h2oqld.jpg


Hier hat der Chip noch 4GB HBM und einen Takt von 1Ghz. Eine Verschiebung nach später und zum Release zu DX12 könnte eventuell für AMD einige Vorteile bedeuten. Man hat mehr Zeit für bessere Treiber, für das komplette Line-Up (Omega Tier2) und kann so auch aktuellen und Rebands auch so eventuell noch etwas rausholen und an VSR weiter tüfteln.
Desweiteren, kann bis zum Release eine größere Menge an HBM Speicher zusammengetragen werden.

Gespannt bin ich, ob es eventuell einen Fijii LE geben könnte (7870XT, 5830, 4830 ect). Wäre auch mit 4GB eine interessante Karte und könnte noch als R9 385 durchgeben.
 
Zuletzt bearbeitet:
Die letzten Gerüchte (Stand: 12.05.2015) klingen auf PCGH am Ende so:

http://www.pcgameshardware.de/AMD-R...Specials/R9-390X-Release-Preis-Daten-1154596/

So richtig stolz scheint AMD auf Fiji und der restlichen 300er-Serie aber nicht zu sein, so war zumindest der Eindruck auf dem Financial Analyst Day. Der Umsatz mit Desktop-Grafikkarten soll im zweiten Halbjahr nur um etwa 5 Prozent zunehmen, zudem lag der Fokus auf 2016. Fiji dürfte so nur eine Überbrückungslösung sein, um für dieses Jahr irgendetwas Neues im High-End-Portfolio zu haben.

:/
 
Hmm naja es ist immernoch 28nm. 2016 klingt wirklich besser für AMD. Zumindest von solange bis es dann auch rauskommt.

8GB HBM 599€ 390X mit Titan X ähnlicher performance und ich bin dabei



4 GB wäre mir zu wenig, alles über 600€ zu teuer und alles mehr als 5-10% unter der Titan X zu langsam
 
Besser wird die 2te Gen.

Wenn 16nm kommt dann kommt ein enorme Sprung.

Für mich wird es nicht in Frage kommen. Aber die Ansätze sind sehr Intressant!
 
Krautmaster schrieb:
Eine einzelne Textur ist ja sicher klein... ich stell mir das so vor:

-> GPU benötigt Textur
-> GPU liest die komprimierte Textur vom Speicher in den internen GPU Cache.
-> GPU wendet diverse Entpackungs Algorythmen an, packt sie aus
-> GPU rechnet damit das eigentliche Bild aus, oder eben viele
-> GPU versucht wieder mit diversen Algos die Textur bestmöglich zu komprimieren
-> GPU überträgt diese komprimierte Textur vom internen Cache an den VRam um dort vorzuhalten

Necareor schrieb:
Vielleicht gibt's auch so was wie Deduplizierung bei den Texturen. Da sind ja sicherlich so einige Texturen im VRAM mehrfach vorhanden.
Nai hat das gut erklärt zu der Kompression, doch die Texturen werden auf andere Weise "Speicherfreundlich" gemacht.
Nai schrieb:
Fazit: Muss eine GPU in eine durch Delta-Color-Kompression verkleinerte Textur auch hineinschreiben, so ist es nur schwer machbar mit der Kompression Speicherplatz zu sparen. Sofern die GPU aus einer durch Delta-Color-Kompression verkleinerten Textur nur lesen möchte, so ist es leicht möglich sie platzsparend im DRAM abzuspeichern. Dies kostet allerdings die zusätzliche Optimierung eines Inhaltsverzeichnis. Ich weiß nicht ob NVIDIA diese Optimierung eingebaut hat. Da sich das Whitepaper so liest als ob NVIDIA die Delta-Color-Kompression primär für Framebuffer-Objekte vorgesehen hat, in welche oft geschrieben wird, bezweifle ich es.
Die eigentliche Technik die Speicher für Texturen spart ist Texture Streaming.
Hier ist das ausführlich erläutert:
https://docs.unrealengine.com/latest/INT/Engine/Content/Types/Textures/Streaming/index.html
The texture streaming system is multi-threaded and priority-based. When using a texture pool (i.e. on consoles), it will not stream out a texture until that memory is needed by another texture with higher priority, which makes texture quality more stable and prevents unnecessary disk access.

The priority of a texture is primarily based on distance but it also takes other factors into account, such as time, wanted resolution, and whether it is forced (flagged to be fully streamed in).

The system periodically calculates two values for each streaming texture: the wanted number of mip-levels and the priority. It then sorts all textures based on their priorities and tries to make sure that all textures have at least the number of wanted mip-levels in memory, starting with the texture with the highest priority. If a texture needs to stream in more mip-levels and there is not enough memory available at the time, it will start to stream out mip-levels from low-priority textures and try again next time.
Man kann sich leicht ausrechnen, dass je höher die Auflösung, desto eher kann auf diese Weise Speicherplatz gespart werden.
 
If a texture needs to stream in more mip-levels and there is not enough memory available at the time, it will start to stream out mip-levels from low-priority textures and try again next time.

Und ich lese daraus, dass sich die Anzahl der Taktzyklen zur Darstellung einer Textur erhöhen kann, falls zu wenig Speicher vorhanden sein sollte.

Bei ausreichendem Speicher wäre jedenfalls kein "try again next time" nötig.
 
Mmh... mein (zugegebenermaßen begrenztes) Verständnis von Grafikdarstellung würde mir eher sagen, dass Einsparungsmöglichkeiten bzw. Effizienz bei der Nutzung von VRAM eher Software-seitig bei der Grafikengine liegen (siehe Texture Streaming?) und die Hardware des Herstellers letztlich eher Möglichkeiten bei der Nutzung der Speicheranbindung bzw. deren Bandbreite hat (sprich, Kommunikation der Elemente-> Kompression zur Durchsatzminderung?).

Also für "Dummies" letztlich:
(effiziente) VRAM Nutzung ist Sache der Software (Grafikengine)
(effiziente) VRAM <-> GPU (SMM) Kommunikation ist Sache der Hardware

Oder ist das jetzt direkt viel zu allgemein und die Wahrheit verquickt sich dann wieder deutlich komplizierter?
 
Zuletzt bearbeitet:
johnniedelta schrieb:
Nur 8GB im High-End-Segment wird 2015 gar nicht verkäuflich sein, egal, wie viel effizienter die Speichernutzung mit HBM wird. Derzeit schreit Jeder dank des aktuellen Speicherbooms nach 8GB oder mehr, da kann AMD nicht mit 4GB in dem Segment kommen, wenn die 380(X) mit 8GB kommt. Und das wird sie, wenns eine relabel-290X ist. denn irgeneine Verbesserung muß man ja auch bei der 380 bieten, wenns nicht doch Grenada/Tonga Vollausbau wird.
Ich sehe nun nicht, warum AMD den Speicher nicht auf 8GB verdoppeln sollte. Bei den vermuteten 700€ Mindestpreis für die Fiji-Karten sollte das wohl drin sein...

Aber möglicherweise ist ja gerade der Umstand, das anfangs nur 4GB möglich waren, der Grund für die ewige Verzögerung des Release. Weil AMD gewartet haben, bis 8GB machbar sind (und DX 12 final ist).

8GB sind imho auch in 2016 noch vollkommen ausreichend. Aktuell ist die höchste Speicherauslastung so um die 6GB bei der Titan mit 12GB. Ich denke mal, dass selbst bei 4K der Speicherverbrauch nicht so stark steigt, da dafür dann wahrscheinlich die GPU-Rechnenleistung nicht hoch genug ist.

Ich kann mir trotz der Gerüchte nicht vorstellen, dass (speziell nach dem 970-Skandal) AMD 4GB Karten als Gegenstücke zu den 12GB Titans positioniert. Unabhängig davon, wie sinnvoll die 12GB sind, wäre es marketingtechnisch Sebstmord.

Ebenfalls kann ich mir nicht vorstellen, dass AMD so dreist ist und die 290X mit 8GB und etwas mehr Speichertakt als 390X verkauft.

Sollte AMD mich im Juni nicht absolut positiv überraschen, werde ich wahrscheinlich die 390(X) doch überspringen. Leider reicht meine 570 nicht mehr bis Ende 2016, wenn vermutlich die 490(X) kommen soll. So wird es vermutlich eine umgelabelte 290X.
 
@Nai:
Wird DX 12 eigentlich die Speichernutzung effizienter machen, oder dies zumindest bei entsprechender Programmierung ermöglichen?
In dem Fall könnte der derzeitigen Speicherhysterie ja Einhalt geboten werden, und 4GB würden wieder als ausreichend betrachtet.
Kann es sein, dass es nur derzeit so ist, dass die Entwickler mit Vram besonders ineffizient umgehen, dieser Trend aber in näherer Zeit wieder zurückgeht? TW3 kommt ja offenbar mit erstaunlich wenig Vram aus, im Gegensatz zu Mordor...
 
johnniedelta schrieb:
@Nai:
Wird DX 12 eigentlich die Speichernutzung effizienter machen, oder dies zumindest bei entsprechender Programmierung ermöglichen?
In dem Fall könnte der derzeitigen Speicherhysterie ja Einhalt geboten werden, und 4GB würden wieder als ausreichend betrachtet.

Ich glaube nicht, dass Nvidia da mitmachen würde, wenn ihre Highend-Modelle 6 bzw. 12GB haben und AMD nur 4GB. Jetzt sind sie ja recht ruhig wegen der 970 und weil sie abgesehen von der Titan nur 4GB haben.
Und man sieht ja aktuell sehr dass, dass die persönlichen Präferenzen für einen Hersteller die Ausstattung/Leistung zum Teil übertrumpfen.
Bei mir ist es ja im Grunde auch nicht anders als bei den Nvidia-Fans, wenn ich aus Prinzip nur noch AMD statt Nvidia kaufe dem 970-Skandal.
 
Eine Speicher-Hysterie würde ich die aktuelle Lage aber auch nicht nennen, das ist ganz normale Hardware-Evolution. Ich finde eher die Anforderung seltsam, dass heutzutage im HighEnd-Bereich 4GB ausreichen müssen. Wo ist denn das Problem, dass Spiele heute 4GB Speicher oder sogar mehr benötigen? 2GB Speicher wurden bereits vor 3-4 Jahren bei HighEnd-Settings gefüllt, heute sind es halt 4GB. So super teuer ist 8GB Speicher jetzt auch wieder nicht, mit HBM (2.0) ist es nicht mal mehr wirklich ein Platzproblem auf dem PCB.
 
Naja, die Frage ist doch: lege ich mir als Performance-Kunde eine Karte mit 4GB zu und habe dennoch etwas einigermaßen zukunftssicheres, oder muß ich zur später erscheinenden 8GB-Variante greifen? Gleiches gilt natürlich fürs High-End-Segment.
Meine 7950 hat bereits jetzt 3GB und, und man macht sich Gedanken, ob die nächste Karte auch drei Jahre so gut hält...
3Gb war 2012 viel, deswegen war die Karte sehr langlebig, aber jetzt ne Neue mit 4GB...weiß nicht.
Hängt mMn eher von der Spieleentwicklung ab.
 
Zum Streaming beziehungsweise Speichermanagement:

Ein Problem an modernen GPUs ist immer noch, dass sie selbst kein "Texture-Paging" besitzen. Deshalb müssen zu Beginn eines Zeichenaufrufs sich alle Texturen inklusive allen Mipmap-Levels, aus denen potentiell im Shader während des Zeichenaufrufs gelesen wird, im DRAM der GPU befinden. Tatsächlich gelesen werden aber immer nur ein Bruchteil all dieser Texturdaten. Gerade die niedrigen Mipmap-Level, die den Großteil allen Speicherplatzes kosten, werden nur selten ausgelesen.

Es gibt mehrere Möglichkeiten, wie eine Anwendung das Speichermanagement, also welche Texturen im Speicher der GPU befinden oder welche Texturen durch andere Texturen ersetzt werden, und das Kopieren der Texturen kontrollieren kann. In der einfachsten Form überlässt die Anwendung das Speichermanagement fast komplett der 3D-API (OpenGL usw) beziehungsweise dem Treiber. Hier ist dann die Anwendung nur dafür zuständig der 3D-API mitzuteilen, welche Texturen der Zeichenaufruf benötigt. Der Treiber bestimmt dann welche Textur jetzt an welcher Stelle im DRAM der GPU steht oder welche Textur mit welcher Textur bei Speichermangel ersetzt wird. Ebenso ist der Treiber für das Planen des Kopierens der Texturen zwischen CPU und GPU-DRAM und für das Kopieren selbst zuständig. Da komplette Texturen inklusive allen Mipmapleveln im DRAM der GPU gelagert und hineinkopiert werden und zudem ein Großteil dieser Daten nicht beim Zeichnen benötigt wird, werden bei dieser Art des Speichermanagements Speicherplatz im DRAM der GPU verschwendet und zudem der PCI-E stärker belastet. Deshalb ist sie ineffizient.

Es gibt allerdings auch fortgeschrittene Verfahren für das Speichermanagement und das Kopieren, wie das Texture-Streaming aus der Unreal-Engine oder die Megatextures von ID. Bei diesen Verfahren übernimmt hier die Anwendung selbst das Speichermanagement und das Planen des Kopierens, in der Hoffnung dass ihre eigenen Heuristiken dafür und ihre eigene Planung dafür besser sind als die des Treibers. Des Weiteren kann eine Anwendung auch selbst berechnen, welche Mipmaplevel ein gegebener Zeichenaufruf überhaupt benötigt. Diese Berechnungen werden benutzt, dass die Anwendung bei den fortgeschrittenen Verfahren den Speicher nicht mehr auf Texturenbasis sondern auf Mipmap-Basis feiner managt. Dadurch müssen wiederum nur noch die benötigten Mipmaplevel kopiert beziehungsweise im DRAM der GPU vorgehalten werden, wodurch PCI-E Bandbreite und Speicherplatz auf der GPU eingespart werden. Allerdings muss diese Art des Speichermanagements die Anwendung selbst übernehmen, wodurch es Programmieraufwand und zudem etwas CPU-Rechenzeit kostet.


Und ich lese daraus, dass sich die Anzahl der Taktzyklen zur Darstellung einer Textur erhöhen kann, falls zu wenig Speicher vorhanden sein sollte.
"Next time" sollte sich hier so wie ich es verstehe auf den nächsten Frame beziehen, also im wesentlichen, dass bei Speicherplatzmangel die Textur mit einer zu niedrigen Auflösung/hohem Mipmap-Level für den Frame gezeichnet wird und dann beim nächsten Frame wieder versucht wird ob Speicherplatz für eine höhere Texturauflösung vorhanden ist. So ein Texture-Popping sieht man eigentlich bei Spielen mit Unreal-Engine relativ oft.

Wird DX 12 eigentlich die Speichernutzung effizienter machen, oder dies zumindest bei entsprechender Programmierung ermöglichen?
Mein Wissensstand über die "Next-Gen-APIs" ist sehr schlecht; ich habe bislang nur einmal die Mantle Specs überflogen. Da scheint sich das (automatische) Speichermanagement der API von dem Grundprinzip her kaum von aktuellen OpenGL/DX zu unterscheiden. Der Hauptvorteil ist meines Wissenstands nach, dass man sich selbst mit Hilfe von Queues leichter ein eigenes Speichermanagement inklusive Kopieren implementieren kann.
 
"Next time" sollte sich hier so wie ich es verstehe auf den nächsten Frame beziehen, also im wesentlichen, dass bei Speicherplatzmangel die Textur mit einer zu niedrigen Auflösung/hohem Mipmap-Level für den Frame gezeichnet wird und dann beim nächsten Frame wieder versucht wird ob Speicherplatz für eine höhere Texturauflösung vorhanden ist. So ein Texture-Popping sieht man eigentlich bei Spielen mit Unreal-Engine relativ oft.

Wenn ich das richtig verstehe, bedeutet das also nichts anderes als eine momentane Verschlechterung der Darstellungsqualität, bis halt wieder genügend Platz vorhanden ist, um aus dem Vollen schöpfen zu können.

Oder liege ich da völlig falsch?
 
Zealord schrieb:
8GB HBM 599€ 390X mit Titan X ähnlicher performance und ich bin dabei

Mit Titan X ähnlicher Performance...Glaube kaum dass man die Karte da für 599€ bekommt. :(

mFg tAk
 
Nai schrieb:
"Next time" sollte sich hier so wie ich es verstehe auf den nächsten Frame beziehen, also im wesentlichen, dass bei Speicherplatzmangel die Textur mit einer zu niedrigen Auflösung/hohem Mipmap-Level für den Frame gezeichnet wird und dann beim nächsten Frame wieder versucht wird ob Speicherplatz für eine höhere Texturauflösung vorhanden ist. So ein Texture-Popping sieht man eigentlich bei Spielen mit Unreal-Engine relativ oft.
Genau.

Und jetzt nehme man HBM-Speicher der die Größe des für Streaming verwendeten Speicherpools dynamisch bestimmen kann (Treiberseitige Zuweisung wie ja auch bisher) und mit einem eigenen Takt betreiben kann, unabhängig von dem Speicher der für den restlichen Renderprozesse benutzt wird. Der Speicher kann bei HBM pro 128-bit Chanel (256 MB) unterschiedlich getaktet werden können. Es muss nicht der gesamte zu berechneden Datenverkehr auf einen gemeinsamen Zyklus in Wavefronts zusammen gefasst werden, oder eben es werden kleinere Wavefronts gebildet die dadurch Latenz und Effizienz des Speichers verbessern in Anwendungen. Eventuell ändert sich nichts an FPS, doch mit Sicherheit hat man mehr Frames in denen höhere Texturen zum Einsatz kommen - wird nur schwierig dies in Benchmarks zu testen oder darzustellen.

MIt HBM wird diesen Streamingeffekten und separaten Verarbeitungsgeschwindigkeiten unterschiedlicher GPU Einheiten entgegen gearbeitet - der Efekt auf die Performance ist noch nicht so richtig vorauszusehen, doch wird sicherlich durch Balancierung zukünftiger Codes auf diese Eigenschaften das noch besser werden und GDDR5 weiter zurück fallen als es zu Release der Fall sein wird.
 
Zuletzt bearbeitet:
Fried_Knight schrieb:
Die letzten Gerüchte (Stand: 12.05.2015) klingen auf PCGH am Ende so:

http://www.pcgameshardware.de/AMD-R...Specials/R9-390X-Release-Preis-Daten-1154596/



:/

Oh man, wieso kriegen die es nicht mal hin eine Karte abzuliefern, die die Performance von der 290X hat aber dafür viel effizienter, und zwar auf dem Niveau einer GTX970 (non-OC)?!

Die hatten soviel Zeit, und dann soetwas.

Naja, kein Wunder, dass die noch nichts rausgebracht haben, wenn man bedenkt, dass es durchaus nicht wenige Leute gibt, die ihre alten Karten erst kürzlich mit GTA5 und Witcher 3 upgegradet haben.
Jetzt ist der Zug wieder vorbei.

Da kann man für AMD nur hoffen, dass sie wenigstens 2016 etwas gebacken bekommen!
 
Zurück
Oben