General Purpose GPU Programming
- Typ: Praktikum
- Semester: Hauptdiplom
-
Ort:
Rechnerraum 305 (50.34)
-
Zeit:
09.-13.02.2009 (letzte Woche des Semesters) ganztags
- Beginn: Vorbesprechung am 12.11.2008 (Rechnerraum 305)
-
Dozent:
C. Sinz, V. Osipov
- SWS: 2
- ECTS: 3
Inhalte
Die Rechenleistung von Prozessoren auf Grafikkarten ist in den letzten Jahren stark angestiegen. So erreichen aktuelle Grafikprozessoren wie nVidias T10 (30x8 Prozessor-Kerne) Leistungen von annäherend einem Teraflop.
In diesem Praktikum sollen die Grundlagen des General Purpose GPU Programming vermittelt und anhand von Programmierprojekten eingeübt werden. GPGPU Programming erfordert ein neues Programmierparadigma, stream processing, das im Rahmen des Praktikums erlernt werden soll.
Insbesondere werden die folgenden Punkte behandelt:
- Architektur von Stream-Prozessoren (nVidia GPUs, IBM Cell Prozessor)
- Speichermodelle von Stream-Prozessoren
- Parallelisierungsansätze
- Parallele Algorithmen für GPUs wie z.B. Matrixmultiplikation, Sortieren und Suchen
- Einarbeitung in die nVidia-CUDA-Programmierumgebung
Literatur:
- NVIDIA CUDA Programming Guide (http://www.nvidia.com/object/cuda_develop.html)
- H. Nguyen: GPU Gems 3: Programming Techniques for High-Performance Graphics and General-Purpose Computation (Addison-Wesley, 2007)
- T. Mattson et al.: Patterns for Parallel Programming (Addison-Wesley, 2004)