Parallele Programmierung
12 113 11553 Parallele Programmierung
Prof. Dr. R. Loogen
Montags, 14.15 - 16.00 Uhr, HS IV (Raum 04A30, Ebene A4, Lahnberge)
Dienstags, 12.15 - 14.00 Uhr, HS V (Raum 04A23, Ebene A4, Lahnberge)
Beginn: Dienstag (!), 16. April 2013
Achtung: In der Pfingstwoche (21./22.5.) entfallen Vorlesung und Tutorium.
Übungen Mischa Dieterle
Mittwochs, 12.15 - 14.00 Uhr, HS I (Raum 03A20, Ebene A3, Lahnberge)
Beginn: 24. April 2013
Ersatztermin für Mittwoch, den 1. Mai:
Donnerstag, 2. Mai 2013, 12-14 Uhr, HS III, Ebene A3, Lahnberge
Fachgebiet Klassifikation Semester Leistungspunkte (ECTS) Skript
Informatik Masterniveau, Vertiefungsmodul, Praktische Informatik >=1 9 Folien
Voraussetzungen: Gute Programmierkenntnisse, von Vorteil sind Kenntnisse in C und Linux
Querverbindungen: -
Scheinkriterien: Erfolgreiche Bearbeitung von 50% der Übungsaufgaben und Kolloquium
Durch das Vorrechnen von Übungsaufgaben im Tutorium können Bonuspunkte erworben werden.

Übungsblätter: ... erscheinen montags über das Ilias-System.
Die Aufgaben sind in der Regel am darauffolgenden Montag vor der Vorlesung abzugeben. Programmieraufgaben senden Sie zusätzlich an dieterle[at]mathematik.uni-marburg.de

Vorlesungsfolien: ... und weitere Materialien werden über das Ilias-System bereitgestellt.
Literatur:
  • I. Foster: Designing and Building Parallel Programs, Addison Wesley 1995
  • M. Quinn: Parallel Programming in C with MPI and OpenMP, Mc Graw Hill 2003
  • Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar: Introduction to Parallel Computing, Addison-Wesley, 2. Auflage, 2003
  • Thomas Rauber, Gudula Rünger: Parallele und verteilte Programmierung, Springer-Verlag 2000
  • Joseph Jaja: An Introduction to Parallel Algorithms, Addison Wesley 1992
  • A. Gibbons, W. Rytter: Efficient Parallel Algorithms, Cambridge University Press 1988

Inhalt:
  1. Einführung: Modelle/Begriffe der Parallelverarbeitung
  2. Entwurf paralleler Programme
  3. Synchronisation und Kommunikation über gemeinsame Variablen (Semaphore, Monitore)
  4. Thread-basierte Programmierung von Multicore-Systemen (PThreads)
  5. Synchronisation und Kommunikation über Nachrichten
  6. Parallele Algorithmen
  7. Programmierung speichergekoppelter Multiprozessoren
    -> Der OpenMP-Standard
  8. Programmierung nachrichtengekoppelter Multiprozessoren
    -> Die MPI-Bibliothek (Message-Passing-Interface)
  9. Datenparallele Programmierung
    -> High Performance Fortran (HPF)
    -> GP-GPU-Programmierung mit CUDA
  10. Algorithmische Skelette
  11. Alternative Ansätze

Zuletzt geändert: Monday, 13-May-2013 14:01:40 CEST