Stiftungsprofessur für zuverlässige Softwaresysteme in der Automobilindustrie

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)

Organisatorisches

  • Voranmeldung erforderlich per E-Mail an sinz(at)ira.uka.de bis spätestens 12.11.2008
  • Teilnehmerzahl begrenzt! Plätze werden in der Reihenfolge der Anmeldung vergeben.
  • Vorbesprechung am Mittwoch, den 12.11.2008 um 16ct in Raum 305 (Rechnerraum)