Die Analyse vieler komplexer natürlicher und technischer Systeme
erfordert den Einsatz rechenintensiver numerischer Verfahren.
Typische Anwendungsgebiete sind die Wetter- oder Klimavorhersagen,
die Analyse von Meeresströmungen, die Optimierung des
Luftwiderstands im Fahrzeugbau, die Dimensionierung von Puffern in
Kommunikationssystemen und viele andere mehr. Für die meisten
dieser Probleme sind Analysealgorithmen grundsätzlich bekannt,
eine genügend genaue Analyse erfordert aber einen immensen
Rechenaufwand, der den Einsatz von Multiprozessorsystemen oder
mehreren loose gekoppelten Workstations notwendig macht. Um die
Rechenkapazität dieser Systeme zu nutzen, müssen entsprechende
Algorithmen verfügbar sein, die sich in vielen Fällen nicht
unmittelbar aus sequentiellen Algorithmen herleiten lassen. Gerade
im Bereich des wissenschaftlichen Rechnens, zu dem auch die
genannten Anwendungsgebiete gehören, wurden effiziente und
praktisch einsetzbare parallele Algorithmen in den letzten Jahren
entwickelt. Im Rahmen der Vorlesung werden wir uns mit der
Parallelisierung numerischer Algorithmen beschäftigen. Wegen der
Breite des Gebiets kann nur ein kleiner Teilbereich behandelt
werden.
Die Vorlesung gliedert sich in folgende Teilbereiche:
- Eine kurze Einführung in parallele Rechnerarchitekturen
- Modelle und Analyse paralleler Algorithmen
- Datenstrukturen für numerische Probleme
- Parallelisierung numerischer Basisalgorithmen (aus der
Vektor- und Matrizenrechnung)
- Parallele Algorithmen zur Lösung linearer Gleichungssysteme
- Methoden paralleler Simulation
- Parallele Algorithmen für einige Optimierungsprobleme
- Anwendungsbeispiele
In den Übungen sollen unter anderem Aspekte paralleler
Programmiersprachen, verfügbare numerische Programmbibliotheken
und die Problematik der Ungenauigkeit der Rechnerarithmetik
behandelt werden.