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)
ܲú³Ü²Ô²µ²õ²ú±ôä³Ù³Ù±ð°ù:
Blatt | Ausgabe | Abgabe | Material | ³¢Ã¶²õ³Ü²Ô²µ | |
---|---|---|---|---|---|
1 | 21. April 2017 | 28. April 2017 | |||
2 | 28. April 2017 | 5. Mai 2017 | |||
3 | 5. Mai 2017 | 12. Mai 2017 | |||
4 | 12. Mai 2017 | 19. Mai 2017 | |||
5 | 19. Mai 2017 | 2. Juni 2017 | , , , und | ||
6 | 2. Juni 2017 | 9. Juni 2017 | |||
7 | 9. Juni 2017 | 23. Juni 2017 | , und | ||
8 | 23. Juni 2017 | 30. Juni 2017 | , , , , | ||
9 | 30. Juni 2017 | 7. Juli 2017 | |||
10 | 7. Juli 2017 | 14. Juli 2017 | |||
11 | 14. Juli 2017 | 20. 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