CUDA, Directcompute, Open CL

Möglichkeiten und Grenzen von GPU-Computing

GTC

Am Vortag von Nvidias GPU Technology Conference (GTC) gaben Entwickler von Khronos, Microsoft und Nvidia einen Überblick über die Einsatzgebiete von GPUs für allgemeine Berechnungen. Der Konsens: GPUs sind schnell, aber nur, wenn man sie richtig programmiert.

Artikel veröffentlicht am ,
CUDA, Directcompute, Open CL: Möglichkeiten und Grenzen von GPU-Computing

CUDA, Directcompute und Open CL - gleich drei Programmierschnittstellen gibt es, um auf Nvidia-GPUs Rechenaufgaben durchzuführen. Welche die beste ist, wagten auch die Entwickler in den Einführungsvorträgen der GTC nicht zu behaupten. An verschiedenen Beispielen zeigten sie jedoch, dass auch längst gelöste Probleme wie die Fourier-Transformation (FFT) oder Matrizenreduktion auf GPUs besonderer Behandlung bedürfen.

Stellenmarkt
  1. Product Owner (m/w/d)
    Hays AG, Nürnberg
  2. Scrum Master (m/f/d)
    Schaeffler Technologies AG & Co. KG, Nürnberg
Detailsuche

Die höhere Parallelität einer GPU im Vergleich mit einer CPU wirkt sich nur dann positiv aus, wenn der Chip ständig viel zu tun hat. Dafür gilt es vor allem, mit dem immer knappen Hauptspeicher - was in diesem Fall das auf der Karte verfügbare RAM ist - und dessen Bandbreite sorgfältig umzugehen. Ein weiterer Eckpfeiler: Threads dürfen sich nicht gegenseitig behindern.

  • Directcompute realisiert Nvidia per CUDA
  • Lens Flares in 3DMark11 per Directcompute
  • Ein Foto aus der Realität, ...
  • ... das nahe an der Simulation ist.
  •  
  • Sieben Schritte zur Matrizenreduktion mit immer höherem Durchsatz
  • Gezieltes Schreiben spart Bandbreite
  • Von einer Gruppe von Threads bis zum einzelnen Rechenwerk
Ein Foto aus der Realität, ...

So zeigte Nvidia, dass sich für die parallele Matrizenreduktion Beschleunigungen bis zum Dreißigfachen erreichen lassen. Das gilt aber nur, wenn sich Verzweigungen (Branches) weitgehend vermeiden lassen, die Speicherzugriffe aneinander ausgerichtet und verschachtelt sind (interleaving) und in einem Thread mehrere Objekte behandelt werden. Das ist ein Unterschied zum Füttern von Threads auf x86-CPUs. Diese Chips kommen mit Abhängigkeiten von Aufgaben untereinander wesentlich besser zurecht.

Da der Speicher immer knapp ist, müssen manchmal Zwischenschritte eingeschoben werden, auch bei grafikorientierten Routinen. Da die Tessellation von DirectX-11 nur 64 Detailstufen vorsieht, empfahl Nvidia für die Darstellung von Bergen eine weitere Unterteilung per fraktaler Selbstähnlichkeit. Das kann dann, auch innerhalb einer Grafikanwendung, ein Directcompute-Shader erledigen. Dafür ist jedoch ein Kontextwechsel nötig, was wieder Rechenzeit kostet.

Golem Akademie
  1. C++ 20: Concepts - Ranges - Coroutinen - Module
    4.-8. Oktober 2021, online
  2. Advanced Python - Fortgeschrittene Programmierthemen
    16./17. September 2021, online
  3. Python kompakt - Einführung für Softwareentwickler
    28.-29. Oktober 2021, online
Weitere IT-Trainings

Statt einer einzelnen Spiegelung wie durch das Objektiv des Betrachters lassen sich so auch viel Flares an mehreren Lichtquellen erzeugen. Ein weiteres Beispiel führte Microsoft an. Die Linsenreflexionen (lens flares), die in Spielen den von Filmen gewohnten Eindruck des gewollten fotografischen Fehlers vermitteln sollen, lassen sich auch über eine Fourier-Transformation erzielen.

Ohne ein exponentielles Ansteigen der Rechenzeit geht das aber nur, wenn 3D-Modell und Compute-Shader zusammenarbeiten. Wie schon bei der Tessellation lassen sich solche Effekte also nicht nachträglich auf bestehende Programme anwenden, sie müssen von Anfang an einkalkuliert werden.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Halbleiterfertigung
Aus 10 nm wird "Intel 7"

Intel orientiert sich vorerst an TSMC, will aber dank RibbonFets und PowerVias ab 2025 führend bei der Halbleiterfertigung sein.
Ein Bericht von Marc Sauter

Halbleiterfertigung: Aus 10 nm wird Intel 7
Artikel
  1. iOS 14.7.1 und macOS Big Sur 11.5.1: Apple patcht aktiv ausgenutzte Mac- und iOS-Sicherheitslücke
    iOS 14.7.1 und macOS Big Sur 11.5.1
    Apple patcht aktiv ausgenutzte Mac- und iOS-Sicherheitslücke

    Apple-Nutzer müssen ihre Geräte mit iOS 14.7.1, iPadOS 14,7.1 und MacOS Big Sur 11.5.1 aktualisieren. Es gibt eine aktiv genutzte Sicherheitslücke.

  2. Form Energy: Eisen-Luft-Akku soll Energiespeicherprobleme lösen
    Form Energy
    Eisen-Luft-Akku soll Energiespeicherprobleme lösen

    Mit Geld von Bill Gates und Jeff Bezos sollen große, billige Akkus Strom für mehrere Tage speichern. Kann die Technik liefern, was sie verspricht?
    Eine Analyse von Frank Wunderlich-Pfeiffer

  3. Nokia: HMD Global bringt unzählige Kopfhörer auf den Markt
    Nokia
    HMD Global bringt unzählige Kopfhörer auf den Markt

    Mit einem Schlag bringt HMD Global unter der Nokia-Marke 13 verschiedene Kopfhörer auf den Markt - übersichtlich ist das nicht.

irata_ 21. Sep 2010

"Vorhersagbares Zeitverhalten" hab ich auch auf klassischen 8-Bittern (C64, Atari...

AnotherGuy 21. Sep 2010

Natürlich sind all solche persönlichen Empfindungen letztlich Geschmackssache, es gibt...

DaHonk 21. Sep 2010

Sowas wie MW2 mit seinen verkauften 15+ Millionen Kopien ist schwer zu toppen. Das...



Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Schnäppchen • Bosch Professional Amazon-Exklusives günstiger • Samsung G7 27" QLED Curved WQHD 240Hz 459€ • Kingston Fury 32GB Kit 3200MHz 149,90€ • 3 für 2 & Sony-TV-Aktion bei MM • New World vorbestellbar ab 39,99€ • Alternate (u. a. Deepcool RGB LED-Streifen 10,99€) • Apple Days [Werbung]
    •  /