Îçҹ̽»¨

Parallele Programmierung mit C++

Ziel der Vorlesung ist es, parallele Anwendungen insbesondere auf technischer Ebene zu modellieren und effizient zu implementieren. Die Inhalte sind sehr praxisorientiert und bieten eine Übersicht der gängigsten Parallelisierungstechniken und Architekturen. C++ kommt hier zum Einsatz, da es die einzige moderne Programmiersprache ist, die bei allen vorgestellten Techniken eingesetzt werden kann.

Termine

Termine:

  • Vorlesung: Donnerstag, 10-12 Uhr, Helmholtzstraße 22, Raum E.03.
  • ܲú³Ü²Ô²µ±ð²Ô: Freitag, 14-16 Uhr, Helmholtzstraße 18, Raum E.20.  Am 26. Mai und am 16. Juni finden keine ܲú³Ü²Ô²µ±ð²Ô statt.

Da die Vorlesungstermine am 25. Mai und am 15. Juni wegen Feiertagen ausfallen, werden diese in anderen Wochen nachgeholt, indem der Übungstermin am Freitag für die Vorlesung genutzt wird. Die am 25. Mai ausgefallene Vorlesung wird am Freitag, den 2. Juni, zum Termin der ܲú³Ü²Ô²µ±ð²Ô nachgeholt. Die am 15. Juni wegen Fronleichnam ausfallende Vorlesung wird am Freitag, den 23. Juni, zum Termin der ܲú³Ü²Ô²µ±ð²Ô nachgeholt.

Der erste Vorlesungstermin ist am 20. April 2017.

Die letzte Vorlesung ist am 20. Juli 2017, die letzten ܲú³Ü²Ô²µ±ð²Ô am 14. Juli 2017.

Inhalt

  • Modellierung paralleler Systeme mit der Prozessalgebra CSP
  • Architekturen paralleler Systeme, Speichermodelle
  • Parallelisierungstechniken: Threads, OpenMP, MPI, GPUs mit CUDA und OpenCL
  • Design-Patterns paralleler Systeme

Voraussetzungen

Es werden einführende Vorlesungen in die praktische Informatik vorausgesetzt. Hilfreich (aber nicht zwingend notwendig) wären grundlegende Kenntnisse in

  • systemnaher Programmierung,
  • Unix/Linux einschließlich der Shell-Ebene und
  • Netzwerkprogrammierung, insbesondere TCP/IP und BSD-Sockets, wie sie beispielsweise in Systemnahe Software II vermittelt werden.

Eine Einführung in C++ findet zu Beginn in den ܲú³Ü²Ô²µ±ð²Ô statt. Wer keine Vorkenntnisse zu C++ hat, sollte diese Gelegenheit nutzen.

±Ê°ùü´Ú³Ü²Ô²µ±ð²Ô

Die Vorlesung ist für die Master-Studiengänge Mathematik, Wirtschaftsmathematik, Informatik und Medieninformatik vorgesehen. Bei den Bachelor-Studiengängen Informatik und Software-Engineering kann dies als Schwerpunktfach gewählt werden. (Die Einzelheiten dazu lassen sich dem Modulhandbuch entnehmen.) Die Prüfung erfolgt mündlich zu individuell verabredeten Terminen.

Vorlesungen

Begleitend zur Vorlesungen werden hier kapitelweise die zugehörigen Vortragsfolien und ggf. weitere Materialien veröffentlicht:

  • 20. und 27. April 2017: , Vorlesungsbeispiel: (sowohl die Folien als auch die Implementierung wurden am 25. April korrigiert)
  • 4. Mai 2017: , Beispiel:
  • 11. Mai 2017:
  • 18. Mai 2017: (Beispiel: )
  • 1. Juni 2017: MP-Systeme mit gemeinsamen Speicher (Teil 1), Beispiele:
  • 2. Juni 2017:
  • 8. Juni 2017:
  • 22. Juni 2017:
  • 23. Juni 2017: (Beispiele: , , )
  • 29. Juni 2017: , Beispiele: , , (jeweils unter Verwendung der )
  • 6. Juli 2017: , Beispiele: , und
  • 13. Juli 2017: , Beispiele: , und
  • (Stand: 13. Juli 2017)

ܲú³Ü²Ô²µ±ð²Ô

  • Melden Sie sich bitte für die Teilnahme in den ܲú³Ü²Ô²µ±ð²Ô bei  an.
  • Die ܲú³Ü²Ô²µ±ð²Ô sind zeitintensiv und integraler Teil einer praxisorientierten Vorlesung. Die Inhalte aus den ܲú³Ü²Ô²µ±ð²Ô sind prüfungsrelevant, die Teilnahme an den ܲú³Ü²Ô²µ±ð²Ô ist aber nicht Voraussetzung zur Prüfungsanmeldung.

Folien zur Einführung in C++:

  • 21. April 2017:
  • 28. April 2017:
  • 5. Mai 2017:
  • 12. Mai 2017:
  • (Stand: 12. Mai 2017)

ܲú³Ü²Ô²µ²õ²ú±ôä³Ù³Ù±ð°ù:

BlattAusgabeAbgabePDFMaterial³¢Ã¶²õ³Ü²Ô²µ
121. April 201728. April 2017
228. April 20175. Mai 2017
35. Mai 201712. Mai 2017
412. Mai 201719. Mai 2017
519. Mai 20172. Juni 2017 , , , und
62. Juni 20179. Juni 2017
79. Juni 201723. Juni 2017, und
823. Juni 201730. Juni 2017, , , ,
930. Juni 20177. Juli 2017
107. Juli 201714. Juli 2017
1114. Juli 201720. Juli 2017 (Beispiel-³¢Ã¶²õ³Ü²Ô²µ entsprechend der Übungsaufgabe), (schnellere Variante mit einem dynamisch wachsenden Gitter)

Materialien

  • (Online-Fassung des Buchs von Tony Hoare über CSP)
  • , ,

Kontakt

Dr. Andreas F. Borchert
Helmholtzstr. 20
Raum 1.23