Vorlesung "Wissenschaftliches Rechnen"
Schwerpunkt "Paralleles Rechnen"
Sommersemester 2011
J. Prof. Dr. Christian Engwer
Termine
- Dienstag
- 14 - 16 Uhr
- Einsteinstr. 64 - M B 6 (M 6)
und
- Donnerstag
- 10 - 12 Uhr
- Einsteinstr. 64 - M B 124
Übungen
Integriert in den Vorlesungsbetrieb wird es theoretische und praktische Übungsaufgaben geben. Für die Bearbeitungen stehen in der Regel zwei Wochen zur Verfügung. Die Besprechung findet Donnerstags im Rahmen der Vorlesung statt.
- Blatt 01, Abgabe bis 20.04.2011
Erratum: Nach einbinden der Erweiterung nbstopwatch.hh ändert sich der Befehl zum übersetzen des Programms:
g++ -o-lgomp - Blatt 02, Abgabe bis 02.05.2011
- Blatt 03, Abgabe bis 09.05.2011
- Blatt 04, membarrier.hh, Abgabe bis 16.05.2011
- Blatt 05, Abgabe bis 23.05.2011
Musterlösungen:- Barriere mit Semaphore für 2^d Prozessoren
- Semaphore: Variante mit aktivem Warten
- Semaphore: Variante mit Bedingungsvariable (inaktives Warten)
- Testprogramm: Erzeuger-Verbraucher-Problem mit Semaphore
- Blatt 06, Programmskelett, Abgabe bis 30.05.2011
- Blatt 07, Abgabe bis 20.06.2011
Material: - Blatt 08, Abgabe bis 04.07.2011
- Blatt 09, Abgabe bis 12.07.2011
Material:
Material
- Einführung, 5. 4. 2011 (Folien)
- Programmskelett für das N-Körperproblem
- Programmskelett für die Matrix-Multiplikation
- der MESI Zustandsgraph
- Musterlösung für das N-Körperproblem
- membarrier.hh (siehe Blatt 04)
- Einführung Posix Threads, 5. 5. 2011 & 12. 5. 2011
- Handout
- Programm 1: Paralleles Skalarprodukt, dümmste Variante
- Programm 2: Paralleles Skalarprodukt, mit lokaler Summationsvariable
- C++ Bonus Übung, 9. 5. 2011
- Einführung in MPI 19. 5. 2011
- Handout
- Programm 1: MPI Hello World
- Programm 2: MPI Send Name
- Programm 3 (Skelett): MPI Ring Kommunikation
- Hinweise zur Verwendung von MPI im Computerpool
- Parallele Algorithmen - Grundlagen
- Programmskelett für das N-Körperproblem mit PThreads
Prüfungsthemen
- Hardware
- Caches
- Prozessoren
- Cache Kohärenz
- NUMA, UMA
- Parallelrechner Architekturen
- Programmiermodelle
- Rechnen mit gemeinsamem Speicher
- Rechnen mit verteiltem Speicher
- Kritischer Abschnitt
- Prozesssynchronisation
- Netzwerktopologien
- Zeitmarken & Markenbasierte Synchronisation (PR1 Kapitel 5)
- Programmieren
- C/C++
- PThreads
- MPI
- Algorithmen
- Lastverteilung (PR1 Kapitel 7)
- Algorithmen für dicht besetzte Matrizen
- Algorithemn für dünnbesetzte Matrizen (PR1 Kapitel 9)
- Bewertung von Algortihmen
- Anwendungen / Modellierung
- Zusammenhänge zw. Anwendung, Modell, Simulation
- N-Körper-Problem
- Modelle und Näherungen
- Diskretisierung
- Parallelisierung
- Turing-Muster
- Morphogenese
- Modellierung
- Parallelisierung
Literatur
- Bücher Hardware
- Hennessy und Patterson, Computer architecture: a quantitative approach
- Paralleles Rechnen
- Schwandt, Parallele Numerik: Eine Einführung
- Bengel, Masterkurs Parallele und Verteilte Systeme
- Herlihy und Shavit The art of multiprocessor programming
- Bastian, Vorlesungsskript Paralleles Rechnen (pdf)
- C++ Bücher
- C++: Objektorientiertes Programmieren von Anfang an, H. Erlenkötter
- Die C++-Programmiersprache, B. Stroustrup
- Effective C++: 55 Specific Ways to Improve Your Programs and Designs, S. Meyers
- C++ Online-Unterlagen
- Anwendungsbücher
- Binney and Tremaine: Galactic Dynamics
- Meinhardt: Wie Schnecken sich in Schale werfen
Kontakt
christian.engwer@uni-muenster.de | |
Telefon | +49 251 83-35067 |
Zimmer | 120.220 |