====== Paralleles Programmieren ====== //In fact, the advent of parallel programming may do something to revive the pioneering spirit in programming, which seems at the present to be degenerating into a rather dull and routine occupation. (S. Gill, Parallel programming, BCS Computer Journal, 1(1):2-10, 1958)// ===== Allgemeine Information ===== **Referenten:** [[http://www.inf.ufrgs.br/~nmaillard|Nicolas Maillard]], [[http://www.inf.ufrgs.br/~mrpritt|Marcus Ritt]].\\ **Wochenstunden:** 24 h (12 Vorlesungen à 2h)\\ **Kreditpunkte:** 2\\ **Kurzbeschreibung:** Parallele Rechnerarchitekturen und Maschinenmodelle. Analyse paralleler Algorithmen. Software-Engineering für Entwicklung paralleler Programme. Entwurf paralleler Programme mit Beispielen. Werkzeuge zur parallelen Programmierung: Bibliotheken zum Nachrichtenaustausch (MPI 2) und Thread-Programmierung von Architekturen mit gemeinsamem Hauptspeicher (POSIX, OpenMP).\\ **Datum/Raum:** 13.-30. Oktober, jeweils Montag-Donnerstag 16.00-18.00, Raum EN 185.\\ **Sprechstunde:** N.V.\\ **Details:** Im {{:parallel:vlb-pp.pdf|Programm}}. ===== Aktuelle Informationen ===== * Kursbeginn: Montag, 13. Oktober, 16.00, Raum EN 185. * Erste Uebung in MPI: Bitte bis 30/10 abgeben. * Praktische Arbeit: Bitte bis 24/10 definieren. Abgabe: 14/11. ===== Vorlesungsinhalte ===== ^ Datum ^ Inhalt ^ Material ^ | 13/10 | Einführung in die parallele Programmierung | {{01-einfuhrung.pdf|VL1}} | | 14/10 | Das PRAM-Modell und grundlegende parallele Algorithmen | {{02-pram.pdf|VL2}} | | 15/10 | Parallele Algorithmen (Lineare Algebra) und PRAM| {{03-pramlinearalgebra.pdf|VL3}} | | 16/10 | Parallele Algorithmen - LogP | {{LogP-parallel-edp.pdf|VL4}} | | 20/10 | Paralleles Programmieren mit MPI | {{MPI.pdf|VL5}} | | 21/10 | Labor: Paralleles Programmieren mit MPI | {{tub.tar.gz|VL6}} | | 22/10 | MPI: Datentypen und Kommunikatoren. | {{07-mpi1.pdf|VL7}} | | 23/10 | MPI: Kollektive und asynchrone Kommunikation. | {{08-mpi2.pdf|VL8}} | | 27/10 | Parallele Sortieralgorithmen | {{09-parallelsorting.pdf|VL9}} | | 28/10 | OpenMP: Einführung, Schleifen- und Task-Parallelität | {{10-openmp1.pdf|VL10}} | | 29/10 | OpenMP: Datenabhängigkeiten und Synchronisation | {{11-openmp2.pdf|VL11}} | | 30/10 | Labor: Paralleles Programmieren mit OpenMP | {{u2.tar|VL12}} | | 07/11 | Klausur | | ===== Literatur =====