Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften, IAI, Vorlesungen, SS 2011
Parallele Programmierung mit C++
im Sommersemester 2011
Veranstalter Dr. Andreas F. Borchert
TypVorlesung mit Übungen
Umfang 2 V + 2 Ü (6 LP)
Termin Mo 10-12 Uhr in der Helmholtzstraße 18, E20 (Vorlesung)
Di 16-18 Uhr in der Helmholtzstraße 18, E60 (Übungen)
Wegen einer terminlichen Kollision wird die Vorlesung vom Montag, den 11. Juli, auf den Übungstermin am Dienstag, den 12. Juli, verschoben.
Beginn

Montag, 11. April 2011

Prüfungen

Die Vorlesung ist für die Master-Studiengänge Mathematik, Wirtschaftsmathematik, Informatik und Medieninformatik vorgesehen. (Bei anderen Studiengängen müsste das ggf. noch geklärt werden.) Die Prüfungsmodalitäten hängen von der Zahl der Teilnehmer ab.

Inhalte
  • Einführung in die Prozessalgebra CSP
  • Architekturen paralleler Systeme
  • Parallelisierungstechniken:
    • Threads
    • OpenMP
    • MPI einschließlich dem Studium einer einfachen Implementierung auf Basis von TCP/IP
    • GPUs mit CUDA, ggf. auch OpenCL
  • Design-Patterns paralleler Systeme
Skript

Die in der Vorlesung verwendeten Folien und Beispiele werden hier begleitend veröffentlicht:

Voraussetzungen

Es werden einführende Vorlesungen in die praktische Informatik vorausgesetzt. Denkbar sind entweder Allgemeine Informatik I und II oder Praktische Informatik I und II. Insbesondere hilfreich wären

  • Grundlegende Kenntnisse in Unix/Linux
  • Grundlegende Kenntnisse in einer Programmiersprache
  • Grundlegende Kenntnisse von Netzwerken, 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 Übungen statt.
Übungen

Bitte melden Sie sich zu den Übungen im SLC an.

In den Übungen verwendete Folien:

Die Abgabetermine sind jeweils um 16:00 Uhr, wenn nichts anderes auf dem Übungsblatt angegeben ist.

Blatt Abgabetermin Angabe Sonstiges Lösung
1 19.04.2011 [PDF] Vorgegebene Schnittstelle: Nim.hpp; eine Vorlage für Nim.cpp; zum Testen fertige Objekte für Debian-Linux, 64 Bit: Nim.o TestNim.o Nim.cpp, TestNim.cpp
2 03.05.2011 [PDF] Computer.cpp, Computer.hpp, Game.cpp, Game.hpp, Human.cpp, Human.hpp, Nim.cpp, Nim.hpp, Player.hpp, PlayerVsComputer.cpp
3 10.05.2011 [PDF] pipeline.hpp, pipeline.tpp, testit.cpp
4 17.05.2011 [PDF] condition.hpp condition.cpp, testit.cpp
5 31.05.2011 [PDF]
6 21.06.2011 [PDF] mpi-gemv.cpp primes.hpp, primes.cpp integer.hpp, mpi-primes.cpp
7 12.07.2011 [PDF] Makefile, bigint.hpp, primes-client.cpp, primes-msg.hpp, primes-server.cpp, primes.cpp, primes.hpp
Weitere Materialien