Îçҹ̽»¨

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

  • Vorlesung: Donnerstag, 16–18 Uhr, Helmholtzstraße 18, Raum E.60.
  • ܲú³Ü²Ô²µ±ð²Ô: Freitag, 14-16 Uhr, Helmholtzstraße 18, Raum E.44.

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:

  • 25. April 2019: (aktualisiert am 2. Mai 2019)
  • 2. Mai 2019:
  • 9. Mai 2019:
  • 16. Mai 2019: ,
  • 24. Mai 2019: ,
  • 6. Juni 2019:
  • 7. Juni 2019:
  • 13. Juni 2019: , Beispiel:
  • 27. Juni 2019:
  • 28. Juni 2019:
  • 4. Juli 2019: ; Beispiele: , ,
  • 12. Juli 2019:
  • 18. Juli 2019: ,
  • 25. Juli 2019:
  • 26. Juli 2019: ,
  • (Stand: 26. Juli 2019)

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

  • 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++:

  • 26. April 2019:
  • 3. Mai 2019:
  • 10. Mai 2019:
  • 17. Mai 2019:
  • (Stand: 17. Mai 2019)

ܲú³Ü²Ô²µ²õ²õ¾±³Ù³ú³Ü²Ô²µ±ð²Ô:

  • 26. April 2019:
  • 3. Mai 2019:
  • 10. Mai 2019:
  • 17. Mai 2019:
  • 28. Juni 2019: ,
  • 5. Juli 2019:
  • 12. Juli 2019:
  • 19. Juli 2019: ,

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

BlattAusgabeAbgabePDFMaterial³¢Ã¶²õ³Ü²Ô²µ
126. April 20193. Mai 2019,
23. Mai 201910. Mai 2019,
310. Mai 201917. Mai 2019, , , ,
417. Mai 201924. Mai 2019,
524. Mai 20197. Juni 2019,
613. Juni 201927. Juni 2019
75. Juli 201912. Juli 2019
812. Juli 201919. Juli 2019
926. Juli 2019

Materialien

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

Kontakt

Dr. Andreas F. Borchert
Helmholtzstr. 20
Raum 1.23