Parallele Programmierung | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
VL+UE 12 113 11653 | CS 653 - Parallele Programmierung | ||||||||||
Prof. Dr. R. Loogen | |||||||||||
Montags, 16.15 - 18.00 Uhr, Achtung, neu ab 27. Oktober 2008: LE HS IIIa (Lahnberge) | Dienstags, 16.15 - 18.00 Uhr, LE HS IV (Lahnberge) | ||||||||||
Beginn: 13. Oktober 2008 | |||||||||||
Übungen: | Mischa Dieterle | ||||||||||
Freitags, 11.15 - 13 Uhr
| |||||||||||
Beginn: 17. Oktober 2008 | |||||||||||
|
Voraussetzungen: | Gute Programmierkenntnisse, von Vorteil sind Kenntnisse in C und Linux |
Querverbindungen: | - |
Scheinkriterien: | Voraussetzungen für einen unbenoteten Schein:
|
Literatur: |
|
Vorlesungsfolien | 1. Einführung (Druckversion) |
2. Die PCAM-Methode (Druckversion) | |
3a. Synchronisation mit Semaphoren (Druckversion)
3b. Synchronisation mit Monitoren (Druckversion) |
|
3c. Synchronisation mit Nachrichten (Druckversion)
3d. Abstraktere Kommunikationskonstrukte (Druckversion) |
|
4. Parallele Algorithmen (4.11.2008) Matrixmultiplikation im Hypercube, Paralleles Sortieren
(Druckversion)
4b. Dynamische Aufgabenverwaltung (Druckversion) |
|
5. PThreads - Thread-basierte Programmierung von Multicore-Systemen (Druckversion) | |
6. Der OpenMP-Standard (Druckversion) | |
7. MPI - Message Passing Interface (Druckversion) | |
8. HPF - High-Performance FORTRAN (Druckversion) | |
9. Algorithmische Skelette (Druckversion) | |
10. Alternative Ansätze (Druckversion) | |
Programme | MPD:
|
Übungsblätter: |
...erscheinen freitags zum Tutorium. Die Aufgaben sind am darauffolgenden Freitag abzugeben. |
Blatt 1, 17.10.2008 | |
Blatt 2, 24.10.2008 | |
Blatt 3, 31.10.2008 (sync.mpd) | |
Blatt 4, 14.11.2008 | |
Blatt 5, 21.11.2008 (Für A5.3: shortpath.mpd, worker.mpd, adjMatrix.txt) | |
Blatt 6, 28.11.2008 | |
Blatt 7, 05.12.2008 | |
Blatt 8, 12.12.2008 (Für A8.1: Rolf Rabenseifner) | |
Blatt 9, 16.01.2009 | |
Blatt 10, 30.01.2009 Letztes Blatt! Abgabe Mittwoch, 4.2.2009 |
Links: | Programmiersprache MPD:
(am Fachbereich unter /app/lang/parallel/mpd zu finden) MPD-Startseite, Sprachübersicht, Operatoren und Funktionen (PDF, lokal), Beispielprogramme (lokal) |
MPD Syntax-Highlighting
|
|
OpenMP API: Die Ofizielle Seite zu OpenMP enthält nützliche Informationen und Materialien zur Programmierschnittstelle wie z.B. eine kompakte Zusammenfassung des OpenMP 3.0 Standards. Weitere Informationen finden sich auch bei wikipedia. | |
MPI (Message Passing Interface):
Der MPI-Standard
(siehe auch unter
wikipedia)
definiert
ein Interface für den Datenaustausch mit verteiltem Speicher.
Im wesentlichen sind zwei Implementierungen relevant:
Zusätzliches Material - lokal:
|
|
C-Programmierung:
(Wikipedia: Infos
über die Sprache C)
|
Inhalt: |
|