Difference between revisions of "PSE Performance Oriented Programming - Summer 09"
(3 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
| term = SS 09 | | term = SS 09 | ||
| lecturer = [[Dr. rer. nat. Michael Bader|Dr. rer. nat.]] [[Michael Bader]], <br>[[Thomas Auckenthaler]] | | lecturer = [[Dr. rer. nat. Michael Bader|Dr. rer. nat.]] [[Michael Bader]], <br>[[Thomas Auckenthaler]] | ||
− | | timeplace = | + | | timeplace = wird noch festgelegt |
| audience = Studenten der Informatik (Bachelor) | | audience = Studenten der Informatik (Bachelor) | ||
| exam = - | | exam = - | ||
− | | tutorials = | + | | tutorials = Bearbeitung und Präsentation von Programmieraufgaben |
| credits = 6 SWS (6P) / 10 Credits | | credits = 6 SWS (6P) / 10 Credits | ||
}} | }} | ||
= Inhalt = | = Inhalt = | ||
− | * | + | |
+ | Leistungsfähige Programme, die die Eigenschaften schneller Rechnersysteme voll ausnutzen sind heute wichtige Wettbewerbsfaktoren in Forschung und Industrie. Die maximale Rechenleistung eines durchschnittlichen Arbeitsplatzrechners wurde in den letzten Jahren drastisch gesteigert. Begriffe wie SSE, EPIC, Dual-core, Multithreading usw. sprießen im Wettlauf der Hardwarehersteller wie Pilze aus dem Boden. Das PSE "Performance Oriented Programming" beschäftigt sich mit den Konzepten, die hinter diesen Schlagwörtern stehen, mit deren Einfluss auf den Entwurf und die Programmierung rechenintensiver Programme sowie mit der Implementierung dieser Programme auf leistungsstarken Rechnern und Rechenclustern. | ||
+ | |||
+ | Die Veranstaltung vermittelt den TeilnehmerInnen ein Verständnis für leistungsorientierte Datenstrukturen und Algorithmen der seriellen und parallelen Programmierung. Die Besonderheiten der einzelnen Plattformen werden besprochen und am Laufzeitverhalten numerischer Algorithmen verifiziert. | ||
+ | |||
+ | Konkrete Themen sind etwa: | ||
+ | * Vorstellung aktueller Hardware: | ||
+ | **CPUs | ||
+ | ** Speicherarchitekturen | ||
+ | **Supercomputer | ||
+ | *Performance-Optimierung auf einzelnen Rechenkernen: | ||
**Pipelining | **Pipelining | ||
***Loop unrolling | ***Loop unrolling | ||
− | *** | + | ***Vermeidung von Datenabhängigkeiten |
− | ** | + | **Cache-Effizienz |
***Cache blocking | ***Cache blocking | ||
− | + | **Performance-Messung | |
− | + | *Parallele Programmierung | |
− | ** | + | **Parallelisierung auf Systemen mit gemeinsamem Speicher (OpenMP) |
− | * | + | **Parallelisierung Schleifen-basierter Programme |
− | ** | + | **Task-orientierte Parallelisierung |
− | ** | + | |
− | ** | + | = Praktikumsaufgaben = |
− | + | ||
+ | Während des Praktikums werden Programmieraufgaben aus den oben genannten Bereichen bearbeitet und die entsprechenden Ergebnisse präsentiert. Die Implementierung der Programmieraufgaben wird in der Programmiersprache C erfolgen - entsprechende Vorkenntnisse sind daher erwünscht. | ||
= Aktuelles = | = Aktuelles = | ||
− | |||
− | = | + | Eine Vorbesprechung zum PSE findet am '''Dienstag, dem 3. Februar 2009, um 11:00 Uhr im Seminarraum MI 02.07.023''' statt. |
− | + | ||
+ | = Anmeldung = | ||
+ | Die Anmeldung zum PSE erfolgt über das [http://portal.mytum.de/anmeldung/ mytum-Portal] (PSE Performance Oriented Programming; zum Finden am besten die Liste der Veranstaltungen auf "Informatik" einschränken). |
Latest revision as of 16:47, 26 January 2009
- Term
- SS 09
- Lecturer
- Dr. rer. nat. Michael Bader,
Thomas Auckenthaler - Time and Place
- wird noch festgelegt
- Audience
- Studenten der Informatik (Bachelor)
- Tutorials
- Bearbeitung und Präsentation von Programmieraufgaben
- Exam
- -
- Semesterwochenstunden / ECTS Credits
- 6 SWS (6P) / 10 Credits
- TUMonline
- {{{tumonline}}}
Inhalt
Leistungsfähige Programme, die die Eigenschaften schneller Rechnersysteme voll ausnutzen sind heute wichtige Wettbewerbsfaktoren in Forschung und Industrie. Die maximale Rechenleistung eines durchschnittlichen Arbeitsplatzrechners wurde in den letzten Jahren drastisch gesteigert. Begriffe wie SSE, EPIC, Dual-core, Multithreading usw. sprießen im Wettlauf der Hardwarehersteller wie Pilze aus dem Boden. Das PSE "Performance Oriented Programming" beschäftigt sich mit den Konzepten, die hinter diesen Schlagwörtern stehen, mit deren Einfluss auf den Entwurf und die Programmierung rechenintensiver Programme sowie mit der Implementierung dieser Programme auf leistungsstarken Rechnern und Rechenclustern.
Die Veranstaltung vermittelt den TeilnehmerInnen ein Verständnis für leistungsorientierte Datenstrukturen und Algorithmen der seriellen und parallelen Programmierung. Die Besonderheiten der einzelnen Plattformen werden besprochen und am Laufzeitverhalten numerischer Algorithmen verifiziert.
Konkrete Themen sind etwa:
- Vorstellung aktueller Hardware:
- CPUs
- Speicherarchitekturen
- Supercomputer
- Performance-Optimierung auf einzelnen Rechenkernen:
- Pipelining
- Loop unrolling
- Vermeidung von Datenabhängigkeiten
- Cache-Effizienz
- Cache blocking
- Performance-Messung
- Pipelining
- Parallele Programmierung
- Parallelisierung auf Systemen mit gemeinsamem Speicher (OpenMP)
- Parallelisierung Schleifen-basierter Programme
- Task-orientierte Parallelisierung
Praktikumsaufgaben
Während des Praktikums werden Programmieraufgaben aus den oben genannten Bereichen bearbeitet und die entsprechenden Ergebnisse präsentiert. Die Implementierung der Programmieraufgaben wird in der Programmiersprache C erfolgen - entsprechende Vorkenntnisse sind daher erwünscht.
Aktuelles
Eine Vorbesprechung zum PSE findet am Dienstag, dem 3. Februar 2009, um 11:00 Uhr im Seminarraum MI 02.07.023 statt.
Anmeldung
Die Anmeldung zum PSE erfolgt über das mytum-Portal (PSE Performance Oriented Programming; zum Finden am besten die Liste der Veranstaltungen auf "Informatik" einschränken).