Difference between revisions of "Masterpraktikum Scientific Computing - High Performance Computing - Winter 10"

From Sccswiki
Jump to navigation Jump to search
Line 44: Line 44:
 
= Einordnung =
 
= Einordnung =
 
Masterpraktikum (Modul [http://drehscheibe.in.tum.de/myintum/kurs_verwaltung/cm.html?id=IN2106 IN2106]), Wahlpflichtpraktikum im Bereich theoretische Informatik (Modul [http://drehscheibe.in.tum.de/myintum/kurs_verwaltung/cm.html?id=IN8904 IN8904])
 
Masterpraktikum (Modul [http://drehscheibe.in.tum.de/myintum/kurs_verwaltung/cm.html?id=IN2106 IN2106]), Wahlpflichtpraktikum im Bereich theoretische Informatik (Modul [http://drehscheibe.in.tum.de/myintum/kurs_verwaltung/cm.html?id=IN8904 IN8904])
 +
 +
= Voraussetzungen=
 +
 +
* Kenntnisse in der C-Programmierung unter Linux hilfreich
  
 
= Folien =
 
= Folien =

Revision as of 10:16, 1 July 2010

Term
Winter 10
Lecturer
Univ.-Prof. Dr. Hans-Joachim Bungartz,
Thomas Auckenthaler,
Wolfgang Eckhardt
Time and Place
Dienstag, 14:00 bis 16:00 im Raum 02.07.023
Audience
Studierende im Masterstudiengang Informatik, Studierende der Informatik im Hauptstudium, Studierende der Techno-, Diplom- und Finanz-Mathematik
Tutorials
-
Exam
-
Semesterwochenstunden / ECTS Credits
6 SWS / 10 Credits
TUMonline
{{{tumonline}}}



Aktuelles

Vorbesprechung: in der Woche vom 12. - 16. Juli 2010

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 Praktikum "Wissenschaftliches Rechnen" 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:

  • Performance-Optimierung sequentieller Programme
    • Pipelining
      • Loop unrolling
      • Vermeidung von Datenabhängigkeiten
    • Cache-Effizienz
      • Cache blocking
    • Performance-Messung
  • Vorstellung aktueller Hardware
    • CPUs
    • Speicherarchitekturen
    • Supercomputer
  • Parallele Programmierung
    • Parallelisierung auf Systemen mit gemeinsamem Speicher (OpenMP)
    • Parallelisierung auf Systemen mit verteiltem Speicher (MPI)
    • GPGPU-Programmierung mit CUDA
    • Lastbalancierung

Das Praktikum gliedert sich in zwei Teile. Im ersten Teil werden die grundlegenden Begriffe, Konzepte und Programmiertechniken eingeführt. Hier sind auf jedem Übungsblatt mehrere Aufgaben teils theoretisch, teils praktisch von jeder Übungsgruppe zu lösen. Im zweiten Teil bearbeitet jede Übungsgruppe ein Projekt. Hier wird das im ersten Teil Erlernte an einem praktischen Beispiel angewandt. Nähere Informationen erhalten die Teilnehmer in der Vorbesprechung.

Einordnung

Masterpraktikum (Modul IN2106), Wahlpflichtpraktikum im Bereich theoretische Informatik (Modul IN8904)

Voraussetzungen

  • Kenntnisse in der C-Programmierung unter Linux hilfreich

Folien

Übungsblätter

Material