> > > > AMD spricht über Delta Color Compression in der GCN-1.2-Architektur

AMD spricht über Delta Color Compression in der GCN-1.2-Architektur

DruckenE-Mail
Erstellt am: von

amd radeon 2013Sowohl AMD wie auch NVIDIA setzen eine Komprimierung für Daten im Grafikspeicher ein. Diese sogenannte Delta Color Compression oder kur DCC ist ein wichtiger Bestandteil im Zusammenspiel zwischen Hardware und Codeimplementation. Bei der Delta Color Compression wird nur der Basispixelwert gespeichert und für die umliegenden Pixel in einer 8x8-Matrix nur noch der Unterschied (das Delta) gespeichert. Da das Delta ein deutlich kleinerer Wert ist, kann dieser schneller gespeichert werden und benötigt auch weniger Platz im Speicher. Es werden also weniger Daten in den VRAM geschrieben und müssen gelesen werden, sodass aus den 224 GB pro Sekunde 297 GB pro Sekunde werden sollen. NVIDIA führte Delta Color Compression mit der Maxwell-Architektur ein.

AMD hat nun einen Blogbeitrag veröffentlicht, der die Delta Color Compression noch einmal erläutert und zugeschnitten auf die Graphics-Core-Next-Architektur für Entwickler einige Empfehlungen gibt. So verbaut AMD zwar aktuell zusammen mit den Fiji-GPUs High Bandwidth Memory mit einem Speicherinterface mit einer Breite von 4.096 Bit, kommt derzeit aber dennoch "nur" auf 512 GB/s. Größere Sprünge werden erst mit HBM2 erwartet. Selbst bei 512 GB/s aber spielt es eine Rolle, wie viele (unnötige) Daten im Speicher geschrieben und gelesen werden müssen.

Speicherkomprimierung in de Maxwell-Architektur von NVIDIASpeicherkomprimierung in de Maxwell-Architektur von NVIDIA

Speicherkomprimierung in de Maxwell-Architektur von NVIDIA

Delta Color Compression ist auf allen diskreten GPUs von AMD aktiv, die auf der GCN-1.2-Architektur oder neuer basieren. Dies trifft auf alle Grafikkarten mit Tonga- und Fiji-GPU zu. Dies wären die Radeon Radeon R9 285 sowie die Radeon R9 Fury X, Radeon R9 Fury und Radeon R9 Nano. Auch alle zukünftigen GPUs auf Basis der Polaris-Architektur werden Delta Color Compression unterstützen. Auf Seiten der APUs unterstützen dies alle APUs auf Basis der Carrizo-Plattform.

So einfach die grundsätzliche Funktionsweise der Delta Color Compression klingen mag, so kompliziert ist jedoch die Implementierung, denn hier werden weitere Optimierungen vorgenommen, damit die Daten schnellstmöglich abgerufen werden können. So wird die Blockgröße für die als Delta Color Compression gespeicherten Daten dynamisch bestimmt, je nachdem wie und auf welche Art und Weise auf die Daten im Speicher zugegriffen werden soll. Der in der GCN-Architektur implementierte Compressor arbeitet ähnlich wie der, der für die Datenkompression von Tiefen- und Matrizen-Werte im Renderingprozess verantwortlich ist.

Für die Entwickler sollen keine besonderen Vorbereitungen notwendig sein. Fallen Daten an, die komprimiert werden können, wird diese Komprimierung auch durchgeführt. Falls keine solche Daten vorliegen, wird die Rendering Pipeline nicht verändert. Die Komprimierung der Daten ist aber nur eine Seite der Optimierung. Die meisten Daten werden häufiger gelesen, als sie geschrieben werden. Daher bekommen die Shader auch die Möglichkeit direkt auf die dekomprimierten Daten zuzugreifen. Werden diese häufiger benötigt liegen sie direkt im Speicher vor. Solche Daten, die weniger häufig verwendet werden, verbleiben komprimiert. Damit lassen sich einige oftmals überflüssige Prozesse verhindern.

Blockdiagramm der Fiji-GPU auf Basis der GCN-1.2-Architektur
Blockdiagramm der Fiji-GPU auf Basis der GCN-1.2-Architektur

Ein Beispiel für die Kompression liefert AMD gleich mit. Ein vollständiges Schwarz und Wei0 wird als {1.0, 0.0, 0.0, 0.0} der {0.0, 1.0, 1.0, 1.0} im Speicher abgelegt. Aber auch hier lässt sich Speicherplatz einsparen, in dem nur 0.0 oder 1.0  als Wert für die ARGB-Oberfläche abgespeichert wird. AMD hat auch einige Tipps an Entwickler, um nicht unnötig Ressourcen zu verbrauchen. So sollten Render-Targets nur dann als solche ausgewiesen werden, wenn dies auch unbedingt notwendig ist. Damit soll verhindert werden, dass nicht andere Optimierungen (ebenfalls Kompressionsverfahren) blockiert werden. Für ein MSAA können Tiefeninformationen im Speicher extrem gut komprimiert werden. Weißt der Entwickler diese Daten den Shadern aber als Render-Targets aus, wird diese Komprimierung nicht durchgeführt.

Solche Daten sollten auch in einem bestimmten Datenformat abgelegt werden. So rät AMD dazu 32 Bit Floating Point (D32F) anstatt 16 Bit (D16) als Datenformat zu verwenden. Die D32F-Datensätze sollen sich deutlich besser komprimieren lassen und verhalten sich bei der Zuweisung im Speicher auch deutlich effektiver. Eine 24-Bit-Tiefeninformation lässt sich auch einfacher in einem 32-Bit-Datenblock speichern, als in zwei 16-Bit-Blöcken abgelegt werden zu müssen.

Die Delta Color Compression wird auch in Zukunft weiterhin eine Rolle spielen, denn es handelt sich um ein verlustloses Verfahren, dass keinerlei Daten verliert, wohl aber den Aufwand für das Speichern und Lesen von Daten deutlich reduzieren kann. Richtig implementiert entstehen so keiner Leistungsnachteile und grundsätzlich sind nur Vorteile vorhanden, die auch ausgeschöpft werden sollen.

AMD hat auch noch einige weitere Tipps parat und interessierte Entwickler können sich alle weiteren Informationen im Blogbeitrag anschauen.

Social Links

Ihre Bewertung

Ø Bewertungen: 0

Tags

Kommentare (1)

#1
Registriert seit: 18.10.2006

Obergefreiter
Beiträge: 110
Bei der Aufzählung der Tonga-Karten habt ihr die R9 380/380X vergessen. Wenn man es genau nimmt, auch die Graphiklösungen von Apple auf Tonga-Basis ;)
Um Kommentare schreiben zu können, musst Du eingeloggt sein!

Das könnte Sie auch interessieren:

Roundup: 5x GeForce GTX 1070 mit Custom-Design im Test

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/2016/5X-GTX1070/GTX1070_CUSTOM_ROUNDUP-TEASER

Nachdem wir bereits eine Reihe von Boardpartner-Karten der NVIDIA GeForce GTX 1080 ausführlich getestet haben, holen wir gleiches nun für das kleinere Schwestermodell nach, denn auch von der NVIDIA GeForce GTX 1070 gibt es viele Custom-Modelle mit höheren Taktraten, eigenen Kühlsystemen und... [mehr]

Drei Custom-Modelle der GeForce GTX 1060 im Test

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/2016/3X-GTX1060/GTX1060_ROUNDUP_TEST-TEASER

Anders als bei der GeForce GTX 1080 und GeForce GTX 1070 trudelten wenige Stunden nach unserem Test zur Founders Edition der NVIDIA GeForce GTX 1060 schon die ersten Boardpartner-Karten mit teils höheren Taktraten, eigenem Kühlsystem und überarbeitetem Platinenlayout ein. Sie dürften... [mehr]

NVIDIA GeForce GTX 1080 mit Pascal-Architektur im XXL-Test

Logo von IMAGES/STORIES/LOGOS-2016/GEFORCE-GTX-1080

Heute ist es soweit: NVIDIA läutet mit der GeForce GTX 1080 und GTX 1070 auf Basis der Pascal-Architektur den diesjährigen Neustart bei den Grafikkarten ein. In Kürze wird wohl auch AMD seinen Beitrag zu diesem Thema leisten. Vor zehn Tagen lud NVIDIA die gesammelte Fachpresse nach Austin ein... [mehr]

Roundup: 5x GeForce GTX 1080 im Custom-Design im Test

Logo von IMAGES/STORIES/LOGOS-2016/GEFORCE-GTX-1080

Nachdem wir uns die Founders Edition der GeForce GTX 1080 und GeForce GTX 1070 bereits angeschaut haben, folgen nun fünf Retail-Modelle, die wir in aller Ausführlichkeit unter die Lupe nehmen wollen. Aus den vielen Boardpartnern und unterschiedlichen Modellen haben wir uns solche von ASUS, EVGA,... [mehr]

AMD Radeon RX 480 im Test

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/2016/RADEON-RX480/RADEON-RX480-REFERENCE-LOGO

Es ist also soweit: AMD startet die großangelegte Zurückeroberung des Grafikkartenmarktes mit der Radeon RX 480, die als erste Grafikkarte der Polaris-Generation mit gleichnamiger Architektur erscheint und die wir uns genauer anschauen können. Dabei versucht sich AMD an einem anderen Ansatz im... [mehr]

PowerColor Radeon RX 480 Red Devil im Test

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/2016/POWERCOLOR-RX480/POWERCOLOR-RX480REDDEVIL-LOGO

Mit der Radeon RX 480 will AMD zurück zu alter Stärke und hat daher über Monate hinweg die PR-Trommel geschlagen. Letztendlich dabei herausgekommen ist eine sehr gute Karte für einen niedrigen Preis, die aber nicht in allen Bereichen zu überzeugen weiß. Wohl größtes Manko der Karte sollte... [mehr]