Praktikum General-Purpose Computation on Graphics Processing Units

Für interaktive Anwendungen ist ist heutzutage Pflicht, die Leistung aktueller Grafikprozessoren (GPUs) auszunutzen. Aktuelle Computerspiele benutzen die GPU nicht nur, um Grafik darzustellen, sondern auch für Kollisionserkennung, Physik und künstliche Intelligenz. General purpose computing auf GPUs (GPGPU) wird auch bei wissenschaftlichen Anwendungen eingesetzt und ermöglicht dort u.a. die Echtzeitberechnung von Flüssigkeitssimulationen, medizinische Visualisierungen und Signalverarbeitung.

Dieses Praktikum führt in die Programmierung von GPU für nicht-grafische Anwendungen ein. Dazu gehören beispielweise Bildfilterung (z.B. Entrauschen, Schärfen) oder physikalische Simulationen. Im Laufe der Praktikums können Sie sich mit der Architektur von aktuellen GPUs vertraut machen und Programmierfähigkeiten im Bereich OpenCL und CUDA erwerben.

Die Aufgaben stammen aus den folgenden Bereichen:

Die Architekur aktueller GPUs (Ausführungsmodell, Speichermodell, etc.)
Einführung in die OpenCL-Programmiersprache
Parallele Reduktion, Durchsuchen und Sortieren
Bildfilterung durch separierbare Faltungskerne
Physiksimulation (Stoffsimulation durch Partikel und Federn)
Einführung in das Profiling und die Optimierung auf GPUs

Die Aufgaben und die Startup Kits werden ebenfalls über das Submit-System (https://submit.ivd.kit.edu) zur Verfügung gestellt, bitte melden Sie sich dort an, um die Aufgaben herunterzuladen.