Uni-Logo Institut für Informatik

Parallele Algorithmen mit OpenCL SS 2013

Dozent Henning Wenke M.Sc.
Übungsleiter Sascha Kolodzey, B.Sc.
Tutoren Sascha Kolodzey, B.Sc.,Nils Vollmer, B.Sc.
Vorlesung mittwochs, 10:00 - 12:00 Uhr, Raum 31/449a
Übung
Vorlesung und Übung teilen sich den Termin am Mittwoch und werden zeitlich je nach Bedarf angesetzt.
Inhalt Parallele Algorithmen sind primär für sehr rechenaufwändige oder echtzeitkritische Berechnungen interessant. Sie formulieren die Lösung eines einzigen Problems dergestalt, dass viele datenverarbeitende Einheiten gleichzeitig an dessen Lösung arbeiten können. Dies könnten z.B. mehrere unabhängige Prozessoren sein, wie sie z.B. in Rechenzentren vorliegen, oder einzelne hochgradig parallele Hardware, beispielsweise Grafikprozessoren (GPUs).

Die Veranstaltung gliedert sich in einen Vorlesungsteil zur Vermittlung der Grundlagen und ein anschließendes Blockpraktikum, in welchem sich die Studierenden mit einer Anwendung ihrer Wahl beschäftigen sollen. Im Rahmen des Vorlesungsteils werden zunächst grundlegende Problemstellungen der Veranstaltung Informatik A (Algorithmen & Datenstrukturen) wiederholt und verschiedene parallele Algorithmen zu deren Lösung vorgestellt. Diese werden untereinander und mit den bekannten seriellen Algorithmen hinsichtlich der Anzahl sequentieller Schritte, des Speicherverbrauchs, des Parallelitätsgrads und des Gesamtaufwands verglichen. Besondere Aufmerksamkeit wird dabei im Praxisteil auch der Implementation auf paralleler Hardware mit OpenCL und (optional) Cuda geschenkt. So können weiterhin die auf verschiedener Hardware messbaren Laufzeiten der Algorithmen verglichen und interpretiert werden. Zu den Grundlagen werden regelmäßig Übungsaufgaben gestellt, deren erfolgreiche Bearbeitung für die Teilnahme am anschließenden Anwendungsteil obligatorisch ist.

Im Praktikumsteil werden in kleinen Gruppen Anwendungen bearbeitet, welche idealerweise einen Bezug zu den Fachrichtungen der einzelnen Studierenden der Gruppe aufweisen. Denkbare Themengebiete sind u.a.:

- Scientific Simulation (Moleküle, …)
- Numerik, Lineare Algebra, …
- Signal Processing
- Fluid Dynamik
- Rendering (Interaktives Ray Tracing, vollständig programmierbare Rastergrafikpipeline, …)
- Remote Rendering
- Partikelsysteme, Animationstechniken
- Scientific Visualization (Medical Imaging, …)
- Computer Vision, Video/Image Processing
- Interaktive Physiksimulation für Spiele

- Gerne nehmen wir weitere Vorschläge der Studierenden entgegen!
Evaluation PDF
Ablauf
Datum Kapitel Thema Folien Video
Mi, 10.04. 1 Organisation PDF Opencast
Mi, 17.04. 2 Einführung: OpenCL PDF Opencast
Mi, 24.04. 3 Einführung: OpenCL 2 PDF Opencast
Mi, 08.05. 4 Einführung: OpenCL 3 PDF Opencast
Mi, 15.05. 5 N-Body Simulation PDF Opencast
Mi, 22.05. 6 N-Body Simulation: Trailvisualization PDF Opencast
Mi, 29.05. 7 Parallelität Synchronization PDF Opencast
Mi, 05.06. 8 Übung: Reduction & Convolution. Folien auf der Übungsseite.
Mi, 12.06. 9 Atomics, Histogramm & Scan Bewertung PDF Opencast
Mi, 19.06. 10 Sortieren PDF Opencast
Mi, 26.06. 11 Optimization - Speicherhierarchie PDF Opencast
Mi, 03.07. 12 Optimization - Speicherzugriffsmuster PDF Opencast
Literatur
  • Heterogeneous Computing with Opencl: Revised Opencl 1.2 Edition
    Benedict Gaster, Lee Howes, David R. Kaeli, Perhaad Mistry, Dana Schaa
    Publication Date: November 27, 2012
    ISBN-10: 0124058949 | ISBN-13: 978-0124058941
  • Programming Massively Parallel Processors, Second Edition: A Hands-on Approach
    David B. Kirk, Wen-mei W. Hwu
    Publication Date: December 28, 2012
    ISBN-10: 0124159923 | ISBN-13: 978-0124159921
  • OpenCL Programming Guide
    Aaftab Munshi, Benedict Gaster, Timothy G. Mattson, James Fung, Dan Ginsburg
    Publication Date: July 23, 2011
    ISBN-10: 0321749642 | ISBN-13: 978-0321749642
  • Algorithms Sequential and Parallel A Unified Approach by Boxer
    Russ Miller, Laurence Boxer
    Publication Date: December 20, 2012
    ISBN-10: 1133366805 | ISBN-13: 978-1133366805
  • Parallel Programming: for Multicore and Cluster Systems
    Thomas Rauber, Gudula Rünger
    Publication Date: March 10, 2010
    ISBN-10: 364204817X | ISBN-13: 978-3642048173