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

Diesen Artikel bewerten:

Ø Bewertungen: 0

Tags

es liegen noch keine Tags vor.

Kommentare (0)

Diskutiert das Thema in unserem Forum:
GTC 2010: DirectCompute

Das könnte Sie auch interessieren:

  • Computex 2019: Der Fokus liegt vor allem auf AMD

    Logo von IMAGES/STORIES/2017/COMPUTEX_LOGO_NEU

    Am kommenden Montag öffnet die Computex 2019 ihre Pforten. Zeitlich so früh im Jahr wie lange nicht mehr. Bereits Ende Mai ist eine der größten Komponenten-Messen auch schon wieder zu Ende – zumindest für die Presse. Wir als Hardwareluxx erwarten zahlreiche Neuigkeiten - und die... [mehr]

  • Video: be quiet! zeigt das Pure Base 500, das Straight Power 11 Platinum und...

    Logo von IMAGES/STORIES/2017/BE_QUIET_LOGO_2017

    Zur Computex rückt be quiet! vor allem ein neues Einsteigergehäuse in den Fokus: Das Pure Base 500 soll ein kompaktes und trotzdem funktionales ATX-Modell sein. Doch auch bei den Netzteilen gibt es Neuigkeiten.  Das 282 x 503 x 518 mm (B x H x T) große Pure Base 500 bietet genug Platz... [mehr]

  • Gamescom 2018: Spielemesse stellt neuen Besucherrekord auf

    Logo von IMAGES/STORIES/2017/GAMESCOM

    In der letzten Woche strömten von Dienstag bis einschließlich Samstag wieder abertausende Spieler nach Köln, um sich dort die neusten Spiele- und Hardware-Highlights einmal aus nächster Nähe und teilweise auch vor allen anderen Gamern anzusehen. Bereits zum zehnten Mal fand die Gamescom in den... [mehr]

  • Phanteks zeigt das Enthoo Luxe 2, Einsteigergehäuse und weitere Neuheiten

    Logo von IMAGES/STORIES/2017/PHANTEKS

    Bei Phanteks stehen zur Computex die Gehäuse im Vordergrund - allen voran das neue Enthoo Luxe 2. Doch auch aus dem Wasserkühlungssegment und von der Netzteilsparte können wir Neues berichten.  Das Enthoo Luxe 2 wurde eigentlich schon zur CES ausgestellt. Phanteks hat... [mehr]

  • Computex 2019: G.Skill mit neuer RAM-Serie und Eingabegeräten

    Logo von IMAGES/STORIES/2017/GSKILL

    Auch der taiwanische Hersteller G.Skill ist auf der diesjährigen Computex vertreten und stellt eine ganze Reihe neuer Produkte vor. Hierzu gehört in erster Linie die neue Arbeitsspeicher-Serie Trident Z Neo. Bei besagter Serie werden die Heatspreader in diversen Farben angeboten, allerdings ist... [mehr]

  • Thermaltake setzt weiter auf Eleganz und geht unter die Speicheranbieter

    Logo von IMAGES/STORIES/2017/THERMALTAKE

    Thermaltake kann zur Computex nicht nur neue Gehäuse und Gaming-Möbel auffahren, sondern sogar ein neues Segment in Angriff nehmen: Den Arbeisspeicher-Markt.  Mit dem A500 (Test) bietet Thermaltake ein sehr edles Gehäuse mit Aluminium-Außenhaut und aufklappbaren Glasseiten an.... [mehr]