Das Ziel der Vorlesung ist es ein grundsätzliches Verständnis für parallele Rechnerarchitekturen, insbesondere die neuen MultiCore und AcceleratorSysteme, sowie für die entsprechenden Programmiertechniken zu vermitteln. Als Grundlage für die Optimierung paralleler Programme dient das Profiling und die Optimierung sequentieller C Programme für allgemeine numerische Probleme, unter Berücksichtigung der jeweiligen CacheHierarchien und Rechnerarchitekturen. Die relativ maschinenahe Programmiersprache C wird dabei gezielt eingesetzt, um das Verständnis für die zugrundeliegenden Architekturen zu verbessern. Einige gängige Parallelrechnerarchitekturen sollen genauer vorgestellt werden und gegenwärtige Trends im Bereich der Hochleistungsarchitekturen anhand der top500 Liste (www.top500.org) erörtert werden. Der zweite Teil der Vorlesung wird sich intensiv mit den Programmiertechniken und Interfaces zur Programmierung von Parallelrechnern mit gemeinsamem sowie verteiltem Speicher beschäftigen. Im letzten Teil der Vorlesung werden Beispielanwendungen aus der Praxis wie z.B. die BLAS Bibliothek für Anwendungen der linearen Algebra und eigene Arbeiten im Bereich des Hochleistungsrechnens für die Bioinformatik vorgestellt.
Nur für Masterstudenten: ECTS-Punkte erhält, wer mindestens 50% der Punkte zu den Programmieraufgaben erreicht und erfolgreich an der 20-minütigen Semestralprüfung teilnimmt. Die Semestralprüfung findet als mündliche Prüfung statt. Die Programmieraufgaben werden alle zwei Wochen gestellt.
Wer ECTS Punkte erwerben will, muss sich zur Vorlesung bis zum 24. Oktober per email anmelden.
Für Diplomstudenten: Diplomstudenten können am Ende des Semesters probeweise zur Vorbereitung auf die Diplomprüfung an der mündlichen Prüfung teilnehmen.