> > > > 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]

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]

RGB im Fokus: Corsair iCUE, VENGEANCE RGB PRO und das Obsidian Series 500D RGB...

Logo von IMAGES/STORIES/2017/CORSAIR

Corsairs RGB-Beleuchtungssystem ist ohnehin schon besonders ausgereift. Und zur Computex macht das Unternehmen deutlich, dass man diesen Vorsprung zumindest verteidigen, wenn nicht sogar ausbauen möchte. Dazu gibt es nicht nur eine neue Softwarelösung, sondern auch neue Produkte mit... [mehr]

Computex 2018: Wenn nicht mit RGB, dann eben Mining

Logo von IMAGES/STORIES/2017/RGB

Die Computex 2018 liegt hinter uns und wer auf neue Komponenten in Form von Prozessoren, Grafikkarten und andere große Neuheiten gehofft hat, wurde enttäuscht. Intel hat den Core i7-8086K offiziell gemacht und heimste sich mit einer 28-Kerne/5-GHz-Demo viel Kritik ein. AMD gab einen Ausblick... [mehr]

Thermaltake zeigt viele Gehäuse und sprachgesteuerte RGB-Beleuchtung

Logo von IMAGES/STORIES/2017/THERMALTAKE

Unseren Besuch bei Thermaltake konnten wir nicht nur nutzen, um verschiedene Gehäuseneuheiten zu entdecken. Nein, Thermaltake zeigte uns auch, wie RGB-Beleuchtung per Alexa mit Sprache gesteuert werden kann. Bei den Gehäusen wird vor allem die Level 20-Reihe massiv ausgebaut. Neben dem... [mehr]