CUDA, Directcompute, Open CL: Möglichkeiten und Grenzen von GPU-Computing

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.

Anzeige

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.

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.

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.


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

Kommentieren



Anzeige

  1. Head of Ad Management (m/w)
    Heise Medien GmbH & Co. KG, Hannover
  2. E-Commerce Manager - eCare & Portale (m/w)
    M-net Telekommunikations GmbH, München
  3. Project Manager (m/w)
    Gelato Group via Academic Work Germany GmbH, Oslo (Norwegen)
  4. IT-Berater (m/w) - Netzwerke und Systeme / Cisco
    Lufthansa Industry Solutions AS GmbH, Hamburg

Detailsuche


Hardware-Angebote
  1. ARLT-Sale
    (Restposten, Rücksendungen und Gebrauchtware)
  2. Sapphire Radeon R9 Fury Tri-X
    ab 565,30€
  3. GTX-950-TIPP: 10 € Casbhack auf EVGA GeForce GTX 950 SC+ & GTX 950 FTW

Weitere Angebote


Folgen Sie uns
       


  1. Autosteuerung

    Uber heuert die Jeep-Hacker an

  2. Contributor Conference

    Owncloud führt Programm für Bug-Bounties ein

  3. Flexible Electronics

    Pentagon forscht mit Apple und Boeing an Wearables

  4. Private Cloud

    Proxy für Owncloud soll Heimnutzung erleichtern

  5. Geheimdienste

    NSA kann weiter US-Telefondaten sammeln

  6. Die Woche im Video

    Diskettenhaufen und heiße Teilchen

  7. Frankfurt

    Betreiber modernisieren Mobilfunknetz der U-Bahn

  8. 3D-Varius

    Pauline, die Geige aus dem 3D-Drucker

  9. Vectoring

    Telekom zählt eigenes 50 MBit/s nicht als 50 MBit/s

  10. Headlander

    Mit Köpfchen in die 70er-Jahre-Raumstation



Haben wir etwas übersehen?

E-Mail an news@golem.de



Open Source: Sticken! Echt jetzt?
Open Source
Sticken! Echt jetzt?
  1. München CSU-Stadträte wettern über Limux
  2. Guadec15 "Beiträge zu freier Software sind zu schwer"
  3. Guadec15 "Open-Source-Software braucht Markenrechte"

Game Writer: Warum Quereinsteiger selten gute Storys für Spiele schreiben
Game Writer
Warum Quereinsteiger selten gute Storys für Spiele schreiben
  1. Swapster Deutsche Börse plant Handelsplattform für Spieler
  2. Ninja Theory Hellblade und eine Heldin mit Trauma
  3. Unterwasser Aquanox sucht Community

Uberchord ausprobiert: Besser spielen statt Highscore jagen
Uberchord ausprobiert
Besser spielen statt Highscore jagen
  1. Play Music Googles Musikdienst bekommt kuratierte Playlisten
  2. GTA 5 Rockstar-Editor bald für PS4 und Xbox One
  3. DAB+ WDR schaltet seine Mittelwellensender ab

  1. Das hier aufgezeigte Investitionsverhalten...

    Carsten W | 04:00

  2. Re: merkwürdiges rechtssystem

    Jasmin26 | 03:01

  3. Re: Hartnäckigkeit zahlt sich eben doch aus! :)

    Jasmin26 | 02:56

  4. Mit anderen Worten: Apple ist nun an der...

    Tamashii | 01:26

  5. Re: ganz ehrlich?

    schnedan | 00:48


  1. 12:46

  2. 11:30

  3. 11:21

  4. 11:00

  5. 10:21

  6. 09:02

  7. 19:06

  8. 18:17


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel