Praktikum Wissenschaftliches Rechnen - Winter 08
- Term
- Winter 08
- Lecturer
- Univ.-Prof. Dr. Hans-Joachim Bungartz,
Ioan Lucian Muntean,
Csaba Attila Vigh,
Thomas Auckenthaler - Time and Place
- Mittwoch 16:00 - 17:30 (Erste Vorlesung am 22. Oktober, 2008)
- Audience
- Studierende der Informatik im Hauptstudium, Studierende im Masterstudiengang Informatik, Studierende der Techno-, Diplom- und Finanz-Mathematik (Modul IN8904)
- Tutorials
- -
- Exam
- -
- Semesterwochenstunden / ECTS Credits
- 6 SWS (6P) /10 Credits
- TUMonline
- {{{tumonline}}}
Contents
Einordnung
Diese Lehrveranstaltung ist ein Wahlpflichtpraktikum für Studenten der Informatik im Hauptstudium im Bereich theoretische Informatik (Modul IN8904)
Rücktritt und Prüfung
Bitte beachten Sie die allgemeinen Hinweise zu Prüfungen am Lehrstuhl.
Anmelden
Die Anmeldung erfolgt bei der Vorbesprechung oder per Email.
Hintergrund des Praktikums
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 in diesem Semester mit den Konzepten, die hinter diesen Schlagwörtern stehen, mit dem Einfluss dieser Konzepte auf den Entwurf und die Programmierung rechenintensiver Programme sowie mit der Implementierung dieser Programme auf leistungsstarken Rechnern und auf "Clusters of Workstations" (COWs).
Das Praktikum bietet die Möglichkeit, sowohl Erfahrungen auf leistungsstarken Einzelprozessorsystemen als auch auf COWs zu sammeln. Letztere werden im akademischen wie im industriellen Bereich zunehmend als beliebte Alternative zu klassischen Supercomputern eingesetzt.
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.
Inhalt des Praktikums
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.
Aufgaben, Quellcodes und sonstiges Material
Aufgaben
Aufgabeblatt 1 Quellcode mess.tar
Aufgabeblatt 2 Quellcode vector.tar
Aufgabeblatt 3 Quellcode 1 mmmul.tar
Quellcode 2 par_gaus.tar
Aufgabeblatt 4 due on January 13-th, 10:00 hours Quellcode labyrinth.txt
Aufgabeblatt 5 due on January 20-th, 10:00 hours
Projekt 1 (Seeschlacht) due on February 4-th, 16:00 hours (Preliminary presentation on January 28, 16:00)
Projekt 2 (Verkehrssimulation) due on February 4-th, 16:00 hours (Preliminary presentation on January 28, 16:00)
Vorlesungsfolien
Sonstiges
Livermore Computing Training - Intel Compiler
Hardware information (von Arnaud Desitter)
Compiler and tools tricks (von Arnaud Desitter)
Compiler Flags for SPEC CPU2000
The Microarchitecture of the Pentium® 4 Processor
Intel® Developer Services - Directives and Pragmas and Switches Oh My!
Duel of the Titans: Opteron vs. Xeon (tom's hardware guide)
AMD Opteron™ Processor Tech Docs
MEMORY BANDWIDTH: STREAM BENCHMARK PERFORMANCE RESULTS
Twelve Ways to Fool the Masses
Designing and Building Parallel Programs
MPICH - A Portable MPI Implementation
OpenMP: Simple, Portable, Scalable SMP Programming
LRZ - Courses, Workshops, Tutorials and Training
Web Resources for Parallel Computing