C/C++-Kurs mit Übungen zur parallelen Programmierung
| Dozent |
Dr. Sebastian Manten |
| Ort | Heinrich-Heine-Universität Universitätsstr. 1, 40225 Düsseldorf ZIM, Geb. 25.41, Raum 00.43 |
| Zeit | Freitags ab dem 17.10.2008, 13 - 17 Uhr |
Hinweise zu MPI
Für die Entwicklung und die Tests von MPI-Programmen benötigt man spezielle Bibliotheken, einen Compiler-Aufsatz sowie ein Environment zum Starten der parallelen Programme. Für den Kurs bieten wir folgende Lösungen an:- Die Installation von mpich unter Linux: Die entsprechende Software (installierbares Source-Paket inklusive Dokumentation) liegt im BSCW. Viele Linux-Distributionen stellen natürlich auch von sich aus MPI in Form von Binärpacketen bereit.
- Den Zugang zu einem unserer Server (itm3): Hier ist die komplette Software schon installiert und ein MPI-Daemon ist bereits gestartet. Wer eine Kennung möchte schreibt bitte eine E-Mail an m.vetter@uni-duesseldorf.de. Auf den Server kann man per SSH von jedem Betriebssystem aus zugreifen.
- Eine Parallel-Knoppix-CD: Dieses Knoppix enthält alles was man braucht. Wer es haben möchte kann mit einem Rohling im Lehrstuhl vorbeischauen.
Beschreibung
Im Kurs werden ausführlich die Konzepte der Sprachen C und C++ behandelt sowie der praktische Umgang mit diesen Programmiersprachen vermittelt. Insbesondere werden auch die Unterschiede zu Java aufgezeigt. Des Weiteren vertieft der Kurs einige Themen der Vorlesung Hochleistungsrechnen. Ein Schwerpunkt ist dabei paralleles Programmieren und Rechnen. Es werden die wichtigsten Konzepte und Techniken der parallelen Programmierung vorgestellt.Der Kurs schließt mit einer praktischen Programmieraufgabe aus dem Bereich "Parallele Programmierung" ab, die in Heimarbeit erfolgreich gelöst werden muss, um zur abschließenden Modulprüfung zugelassen zu werden.
Der Kurs ist 4-stündig, wobei 2 Stunden aus den praktischen Programmierübungen bestehen.
Programmierkenntnisse in einer prozeduralen oder objektorientierten Programmiersprache werden verausgesetzt.
Im Einzelnen werden die folgenden Themen behandelt:
- Klassische Kontrollstrukturen in C/C++ (unterschiede zu Java)
- Speichermanagement sowie statische und dynamische Datenstrukturen in C und C++
- Klassenkonzept und objektorientierte Programmierung in C++ (unterschiede zu Java)
- Parallele Programmierung mittels Message Passing am Beispiel von MPI
- Parallelisierung mittels Threads am Beispiel von Pthreads
- Shared-Memory-Parallelisierung mit Open-MP
- Anwendungsbeispiele aus verschiedenen Bereichen des wissenschaftlichen Rechnens
Verantwortlich für den Inhalt: Lehrstuhl für IT-Management
Letzte Änderung: 24.03.2009, 16:29



+49 (0)211 / 81 13 900
+49 (0)211 / 81 12 539 