Vorlesung: Performance-optimierte Programmierung
Termin: Sommersemester 2003
- Vorlesungen: Mittwochs, 16:00-17:30 Uhr, Raum F0.530
- Übungen: Mittwochs, 17:45-18:30, Raum F0.346 (PC2-User-Center)
Dozent: Jens Simon
Übungsgruppenleiter: Oliver Marquardt
Motivation:
- Die große theoretisch erreichbare Rechenleistung moderner Computersysteme läßt sich nur mit Hilfe entsprechend optimierter Programme ausnutzen. In der Veranstaltung werden Methoden vorgestellt, die eine Entwicklung von effizienten Programmen für Einprozessor- und Mehrporzessorsysteme ermöglichen. Dabei wird das Zusammenspiel der unterschiedlichen Ebenen vom Algorithmus, über den Übersetzer, bis hin zur Architektur des Rechnersystems intensiv betrachtet.
Hörerkreis:
- Studierende Informatik/Ingenieurinformatik im 2. und 3. Studienabschnitt.
- Studierende aus Ingenieursstudiengänge mit Interesse am Hochleistungsrechnen und an Hochleistungsrechnern.
Bitte haben Sie Verständnis dafür, dass die Vorlesung nur bei mindestens 8 Studierende stattfinden kann.
Prüfung:
- Bereich: Eingebettete Systeme/Systemsoftware (ESS)
- Voraussetzung: Besuch der Vorlesungen, aktive Teilnahme an den Übungen, Bearbeitung der Übungszettel
- Durchführung: Fachprüfung im Anschluss an die Vorlesungsserie
Wünschenswerte Kenntnisse:
- Grundlagen der Rechnerarchitektur
- Grundlagen der Programmiersprachen
Vorlesung:
- Die Folien der Vorlesung werden elektronisch präsentiert und anschließend im Web zur Verfügung gestellt.
- 1. Vorlesung am 30.4.2003
- 2. Vorlesung am 7.5.2003
- 3. Vorlesung am 14.5.2003
- 4. Vorlesung am 21.5.2003
- 5. Vorlesung am 28.5.2003
- 6. Vorlesung am 4.6.2003
- 7. Vorlesung am 11.6.2003
- 8. Vorlesung am 18.6.2003
- 9. Vorlesung am 2.7.2003
- 10. Vorlesung am 9.7.2003
- 11. Vorlesung am 16.7.2003
- 12. Vorlesung am 23.7.2003
- 13. Vorlesung am 30.7.2003
Übungen:
- Die Übungszettel müssen bis zu dem entsprechenden Übungtermin bearbeitet und abgegeben werden (vorzugsweise als E-Mail an simon@upb.de + marquard@upb.de).
- 1. Übung am 7.5.2003
- 2. Übung am 21.5.2003
- 3. Übung am 4.6.2003
- 4. Übung am 18.6.2003
- 5. Übung am 2.7.2003
- 6. Übung am 9.7.2003
- 7. Übung am 16.7.2003
- 8. Übung am 23.7.2003
- 9. Übung am 30.7.2003
Inhaltsübersicht:
- Programmierparadigmen
- Speicherhierarchien
- Compiler-Optimierungen
- Programmierung von Shared-Memory-Systemen
- Programmierung von Systemen mit verteiltem Speicher
- Kommunikationsprotokolle
- Globale Operationen, Synchronisationen
- Leistungsmessungen
Literaturhinweise:
- Culler, David E.; Singh, Jaswinder P.; Gupta, Anoop: Parallel computer architecture : A hardware/software approach , Morgan Kaufmann, 1999
- Hennessy, J.; Patterson D.: Computer Architecture - Quantitative Approach, 1996
- Kevin Dowd, Charles Severance: High Performance Computing, 1998
- Schönauer, Willi: Scietific Supercomputing - Architecture and Use of Shared and Distributed Memory Parallel Computers, 2000
- Andrews, Gregory R.: Multithreaded, Parallel, and Distributed Programming, Addison-Wesley, 2000
- Leopold, Claudia: Parallel and Distributed Computing, John Wiley&Sons, 2001
- Gropp, William; Lusk, Ewing; Thakur, Rajeev: Using MPI - 2 : advanced features of the Message-Passing Interface, MIT Press, 1999




Print