> > > > GTC 2010: DirectCompute

GTC 2010: DirectCompute

Veröffentlicht am: von

NVIDIA_GTCIm Rahmen der Einführung in das Thema DirectCompute versuchte NVIDIA die Frage zu beantworten, warum überhaupt GPUs verwendet werden sollen, um komplizierte Berechnungen durchzuführen. GPUs bieten in der Theorie eine höhere Rechenleistung, als dies aktuell CPUs können. Reduziert auf die Anzahl der FLOPs liegen GPUs sowohl bei der Rechenleistung unter DirectX 10 und 11 auf Hardware-Basis deutlich vor den modernen Prozessoren. Doch so ohne weiteres ist dies nicht möglich, denn eine effiziente Verarbeitung von Daten kann nur über eine Aufteilung eines Problems oder einer Aufgabe in viele kleine erfolgen. Soweit keine Überraschungen, denn dies ist bereits seit geraumer Zeit bekannt und wird auch dadurch deutlich, dass Prozessoren über immer mehr Kerne verfügen und sowohl dort, als auch bei den GPUs, die Verarbeitung auf möglichst vielen Kernen Vorrang vor dem Takt hat.

GTC2010_DC_02_rs GTC2010_DC_03_rs

Durch Klick auf das Bild gelangt man zu einer vergrößerten Ansicht

GPUs bieten einen hohen Daten-Durchfluss, aber auch eine hohe Speicher-Latancy. Daher muss die Zuteilung der Speicheradressen zum jeweiligen Thread intelligent erfolgen. Konflikte beim Zugriff sind dabei natürlich zu vermeiden.

GTC2010_DC_04_rs GTC2010_DC_05_rs

Durch Klick auf das Bild gelangt man zu einer vergrößerten Ansicht

Eine effektive Nutzung der GPUs setzt verschiedene Gegegebenheiten voraus. So gilt bereits bei der Programmierung zu beachten, dass pro Hardware-Shader-Unit 8 Thread-Groups maximal zur Verfügung stehen. Noch weitaus wichtiger ist die limitierte shared-Memory von 48 kB. In jeder Hardware-Shader-Unit können bis zu 1536 Threads gleichzeitig ausgeführt werden.

GTC2010_DC_06_rs

Durch Klick auf das Bild gelangt man zu einer vergrößerten Ansicht

Eine hohe Effektivität wird auch nur dann erreicht, wenn alle Multiprozessoren auch genutzt werden. Die anfallenden Threads werden also in Thread-Groups zusammengeführt und jeder Multiprozessor sollte mindestens eine Thread-Group zur Verarbeitung vorliegen haben. Ein großes Problem ist aber der Austausch von Daten zwischen den verschiedenen Multiprozessoren innerhalb der Thread-Groups. Eine Möglichkeit wäre es die Daten global auf allen Multiprozessoren zu synchronisieren, was allerdings zu einem gewissen Overload führt, da auch Daten übertragen werden, die nur von einer weiteren Instanz verwendet werden. Es empfiehlt sich also die Daten gezielt an die gewünschte Thread-Group zu übertragen, was dem Programmierer allerdings einen höheren Code-Aufwand abverlangt. Möglich macht dies ein sogenannter Thread Group Shared Memory, der angelegt wird und zwischen verschiedenen Thread-Groups einen Datenaustausch erlaubt.

Werden Daten aber einer GPU zwischen der ALU und dem Speicher ausgetauscht, gehört zu jedem Datenblock ein gewisser Anteil an Informationen, welche die Adresse innerhalb des Speichers und weitere Details enthalten. Mit höherer Datenrate wird dieser Overhead ebenfalls immer größer und behindern eine vernünftige Skalierung der Performance. NVIDIA hat einige Mittel und Wege gefunden diesen Overhead zu reduzieren, was sich letztendlich in einer höheren effektiven Bandbreite niederschlägt.

GTC2010_DC_11_rs

Durch Klick auf das Bild gelangt man zu einer vergrößerten Ansicht

DirectCompute kann bei effektiver Programmierung also hochoptimierte Aufgaben übernehmen. Ein Beispiel ist an dieser Stelle die Rauschreduzierung auf Fotos. Ein Video stellt die Abarbeitung der verschiedenen Rausch-Frequenzen dar. Links ist Originalfoto zu sehen, rechts das überarbeitete. Eine weitere Anwendung das Einfügen eines Lens-Flare-Effekts in einer 3D-Szene oder die Verarbeitung von HDR-Fotos. Beides haben wir in einem Video zusammengeführt.

Ein großes Einsatzgebiet von DirectCompute zur Berechnung von rechenintensiven Daten, ist die Darstellung von Flüssigkeiten und hier Speziellen die Simulation von Wellen.

Weitere Links:

Social Links

Ihre Bewertung

Ø Bewertungen: 0

Tags

es liegen noch keine Tags vor.

Kommentare (0)

Um Kommentare schreiben zu können, musst Du eingeloggt sein!

Das könnte Sie auch interessieren:

Hardwareluxx auf der DreamHack 2018 in Leipzig

Logo von IMAGES/STORIES/2017/DREAMHACK2018

An diesem Wochenende eröffnete die DreamHack Leipzig zum dritten Mal ihre Pforten und lockte damit fast zehn Jahre nach dem Standortwechsel der Gamescom bzw. damals noch Games Convention wieder abertausende begeisterte Videospieler nach Sachsen. Während im LAN-Bereich über 1.700 Spieler... [mehr]

Gamescom 2017 weiterhin mit strengen Einlasskontrollen

Logo von IMAGES/STORIES/2017/GAMESCOM

Die im letzten Jahr erhöhten Sicherheits- und Präventionsmaßnahmen der Gamescom bleiben auch in diesem Jahr bestehen. Wenn vom 22. bis 26. August die weltgrößte Spielemesse wieder in Köln ihre Pforten öffnen wird, dann werden sich Besucher auch in diesem Jahr wieder auf strenge... [mehr]

Last Minute: Toshiba verlost 7x 2 Tickets für die Gamescom

Logo von IMAGES/STORIES/2017/TOSHIBA

Der Countdown läuft! Fast auf den Tag genau in zwei Wochen öffnet die Gamescom für dieses Jahr wieder ihre Pforten. Wer kurzfristig noch nach Köln fahren und die weltweit größte Spielemesse besuchen möchte, der sollte sich sputen: Teils sind die Vorverkauf- Tickets für einzelne Messetage... [mehr]

350.000 Besucher: Gamescom 2017 mit neuem Rekord

Logo von IMAGES/STORIES/2017/GAMESCOM

Am vergangenen Samstag schloss die Gamescom für dieses Jahr wieder ihre Pforten. Von Dienstag bzw. Mittwoch an schlenderten zahlreiche Besucher durch die prall gefüllten, Kölner Messehallen. Nachdem die Spielemesse im letzten Jahr mit rund 345.000 Besuchern einen neuen Rekord... [mehr]

Neue Gehäuse und Netzteile von Riotoro zur CES (Update)

Logo von IMAGES/STORIES/2017/RIOTORO

In den letzten Monaten konnten wir erste Riotoro-Produkte wie das Gehäuse CR1280 Prism und das Netzteil Onyx 750W testen. Für beide Produktkategorien hat der Hersteller jetzt die CES genutzt, um neue Produkte zu enthüllen.  Der größte Hingucker ist das CR1288TG Prism, ein... [mehr]

9. bis 10. Dezember: OverClocking World Championship 2017 in Berlin

Logo von IMAGES/STORIES/2017/HWBOT

Zwischen dem 9. und 10. Dezember werden die neun weltweit besten Overclocker gegeneinander antreten und unter sich den Titel des "Overclocking World Champion 2017" ausmachen. Die Veranstaltung wird von der Organisation HWBOT abgehalten und das Finale in Berlin ist das Ergebnis der der World Tour... [mehr]