Fachbereich Informatik
Modulbeschreibung Sommersemester 2023
English | Deutsch
  Programmierung paralleler Anwendungen
Modulverantwortliche(r):

Prof. Dr. Rudolf Berrendorf

Dozent/-in:Prof. Dr. Rudolf Berrendorf
Zuordnung: Bachelor Informatik, 4. Semester, BI-SPZ-KS (6 CP)
Bachelor Wirtschaftsinformatik, 4. Semester, BWI-SPZ-KS (6 CP)
Modul(e): BI-4-SPZ-1/2, BI-5-SPZ-1/2, BWI-4-SPZ-1/2, BWI-5-SPZ-1/2
SWS: Vorlesung: 3 / Übung: 2
Arbeitsaufwand: Präsenzstudium: 75 Stunden / Eigenstudium: 105 Stunden
Sprache: Deutsch
Vorausgesetzte Vorkenntnisse:

Notwendige Voraussetzung zur Teilnahme an der Veranstaltung sind solide Kenntnisse der sequentiellen Programmierung in den Programmiersprachen Java und C. Weiterhin werden Kenntnisse zu Rechner- und Prozessorarchitekturen sowie Betriebssystemen (Prozesse, Speicherverwaltung, Scheduling, Synchronisation) vorausgesetzt.

Zum Nachweise der Kenntnisse müssen bestandene Prüfungen in den relevanten Programmierveranstaltungen der ersten beiden Semester ("Einführung in die Programmierung", "Programmieren 2" und "Systemnahe Programmierung") nachgewiesen werden.

Angestrebte Lernergebnisse:

Die Studierenden kennen prinzipielle Ansätze der Programmierung paralleler Systeme. Sie können einfache Programme in verschiedenen parallelen Programmiermodellen entwickeln.

Inhalt:

Im grundlagenorientierten Teil der Veranstaltung werden grundsätzliche Fragestellungen der Parallelität und Parallelisierung behandelt.

Im programmiertechnischen Teil der Veranstaltung werden aktuelle Konzepte zur Programmierung paralleler Systeme gegenübergestellt. Dabei werden insbesondere die unterschiedlichen Ansätze zur Programmierung von parallelen System mit gemeinsamem Speicher, verteiltem Speicher und Rechenbeschleunigern verglichen (u.a. Threads, OpenMP, MPI, OpenCL/CUDA, OpenACC).

Zu den einzelnen Programmieransätzen werden Übungsaufgaben gestellt, die auf leistungsfähigen Parallelrechnern (http://www.wr.inf.h-brs.de/wr/hardware/hardware.html) selbstständig umgesetzt werden müssen.

Studienleistung: Prüfung

Die Credits werden vergeben, wenn mindestens 70% der Übungsaufgaben erfolgreich bearbeitet wurden, die individuelle Lösung jeweils dem Dozenten erläutert wurde und eine mündliche oder schriftliche Prüfung zum Ende der Veranstaltung erfolgreich abgelegt wurde.

Medienformen:

Vorlesungsfolien, Tafel, Übungsaufgaben, Beispielprogramme, Skript zu ausgewählten Kapiteln

Literatur:
  • Skript zu ausgewählten Kapiteln
  • Peter S. Pacheco: Am Introduction to Parallel Programming. Morgan-Kaufmann,2011.
  • Barry Wilkinson, Michael Allen: Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers. Second Edition, Pearson Education International, 2005
  • Michael J. Quinn: Parallel Programming in C with MPI and OpenMP. McGraw-Hill, 2003
  • Thomas Rauber, Gundula Rünger: Parallel Programmierung. Springer, 2012
  • Barbara Chapman, Gabriele Jost, Ruud van der Paas: Using OpenMP - Portable Shared memory Parallel Programming. The MIT Press, 2008.
  • David B.Kirk, Wen-mei W. Hwu: Programming Massively Parallel Processors - A Hands-on Approach. 2. Edition. Morgan Kaufmann, 2013
  • Jörg Hettel, Manh Tien Tran: Nebenläufige Programmierung in Java. dpunkt.verlag 2016
  • Sunita Chandrasekaran, Guido Juckeland: OpenACC for Programmers - Concepts and Strategies. Addison-Wesley 2018
  • Ruud van der Pas, Eric Stotzer, Christian Terboven: Using OpenMP - The Next Step. The MIT Press, 2018.
URL: http://berrendorf.inf.h-brs.de/lehre/ss23/parprog/parprog.html
LEA-Kurs: https://lea.hochschule-bonn-rhein-sieg.de/goto.php?target=crs_1349923&client_id=db_040811

Bitte entnehmen Sie Termin- und Ortsangaben dem aktuellen Stundenplan.
Stand: 2023-03-20 10:56:35  –  ID: 7340  –  F: 2017  –  LS: 1