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

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

Veröffentlicht 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

Hauptgefreiter
Beiträge: 176
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:

Von ASUS bis ZOTAC: Vier Modelle der GeForce GTX 1050 Ti im Test

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/2016/NVIDIA-GTX1050TI-ROUNDUP/NVIDIA_GTX1050TI_4ER_ROUND_UP-TEASER

Seit Ende Oktober gibt es die aktuelle Pascal-Generation von NVIDIA auch für unter 200 Euro. Tatsächlich bekommt man hier nicht nur viel Leistung fürs Geld, sondern obendrein einen sehr effizienten 3D-Beschleuniger, wie unser Launch-Test zur NVIDIA GeForce GTX 1050 Ti pünktlich zum Marktstart... [mehr]

AMD Radeon RX Vega 56 und Vega 64 im Undervolting-Test

Logo von IMAGES/STORIES/2017/AMD_RADEON_RX_VEGA_64_56_TEST

Unser Test der Radeon RX Vega 64 und Vega 56 hat gezeigt: AMD liefert eine Leistung auf dem Niveau der GeForce GTX 1080 und GeForce GTX 1070, erkauft wird dies aber mit einer deutlich zu hohen Leistungsaufnahme. Derzeit hat AMD bei den Vega-Karten noch viele Baustellen, die vor allem den Treiber... [mehr]

AMD Radeon RX Vega 64 und RX Vega 56 im Test

Logo von IMAGES/STORIES/2017/AMD_RADEON_RX_VEGA_64_56_TEST

Nun endlich ist es soweit: Was vor gut einem Jahr mit einer ersten Ankündigung begann und ab Ende 2016 konkret wurde, findet nun sein finales Ende in den ersten Tests der Radeon RX Vega 64 und RX Vega 56. AMD ist als einziger Konkurrent zu NVIDIA geradezu zum Erfolg verdonnert. Die Ansprüche an... [mehr]

Neun Modelle der GeForce GTX 1080 Ti im Test

Logo von IMAGES/STORIES/LOGOS-2017/GTX1080TI-LOGO

Wenn es nach AMD geht, wird NVIDIA mit der Radeon RX Vega bald Konkurrenz im High-End-Segment bekommen. Derzeit ist die Informationslage aber noch etwas undurchsichtig und so bleibt die GeForce GTX 1080 Ti erst einmal die schnellste Grafikkarte am Markt. Einige Modelle haben wir uns schon... [mehr]

ASUS ROG GeForce GTX 1080 Ti Strix OC im Test

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/2017/ASUS-ROG-GTX1080TI-STRIX-OC/ASUS_ROG_GEFORCE_GTX_1080_TI_STRIX_OC

Die Inno3D GeForce GTX 1080 Ti X3 Edition war eines der ersten Custom-Designs, welches wir in der Redaktion begrüßen und bereits ausführlich auf den Prüfstand stellen konnten. Während sie noch auf der Platine der Founders Edition basiert und lediglich ein eigenes Kühlsystem aufgeschnallt... [mehr]

Ab Werk die schnellste: ZOTAC GeForce GTX 1080 Ti AMP! Extreme Edition im Test

Logo von IMAGES/STORIES/LOGOS-2017/ZOTAC-GTX1080TI-EXTREME-LOGO

Einige Modelle der GeForce GTX 1080 Ti konnten wir uns ja bereits anschauen und damit lässt sich auch ein erster Eindruck zusammenfassen: Die GeForce GTX 1080 Ti ist in der Founders Edition eine gute Karte, die Custom-Modelle beschleunigen sie noch etwas und bieten zudem eine bessere und leisere... [mehr]