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:

  1. 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.

  2. 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.

  3. 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

    Donnerstag, 17. 05. 2012



Prof. Dr. Stephan Olbrich


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

icon



Verantwortlich für den Inhalt: Lehrstuhl für IT-Management        Letzte Änderung: 24.03.2009, 16:29
Seitenende