WiSe 2008/2009
Wissenschaftliches Rechnen
VAK 03-203
Inhalt:
Viele Fragestellungen aus Naturwissenschaft und Technik lassen sich nur durch
Simulation lösen, wofür mathematische Modelle und Algorithmen zu entwickeln
sind. In der Regel müssen dazu auch Vektorrechner oder massiv parallele
Rechner zur Lösung eingesetzt werden. Im Wissenschaftlichen Rechnen
untersucht man deshalb neben den numerischen Eigenschaften mathematischer
Methoden zwei weitere Aspekte: die algorithmische Struktur der Verfahren
und die Abbildung dieser Struktur auf die Architektur paralleler
Rechnersysteme.
Diese Vorlesung soll einen Einblick in geeignete parallele numerische Verfahren
zur effizienten Lösung großer Gleichungssysteme vermitteln. Wir wollen uns
dabei hauptsächlich mit Systemen befassen, die bei partiellen
Differentialgleichungen auftreten. Dabei sind in der Regel
hochdimensionale, aber schwach besetzte, Gleichungssysteme zu lösen. Die
schnellsten Löser für solche Systeme kann man durch Mehrgitter-Ansätze und
Gebietszerlegungs-Techniken erhalten. Die Zerlegung des betrachteten
Gebiets in Teilgebiete und geeignete Kopplung bzw. Kombination von
entsprechenden Teilproblemen führt in natürlicher Weise zu
parallelisierbaren Algorithmen.
Bei Mehrgitter-Lösern (Multigrid) wird eine hierarchische Aufteilung des
Lösungsraumes in gröbere und feinere Anteile (tiefe und höhere Frequenzen)
ausgenutzt. Parallelisierungs-Möglichkeiten ergeben sich durch getrennte
Bearbeitung der Probleme auf verschiedenen Hierarchien oder durch
geschickte Kopplung mit den erwähnten Gebietszerlegungstechniken. Zwei
weitere Klassen von Lösern, welche auf Gebietszerlegungstechniken basieren,
werden daran unterschieden, ob die Teilgebiete überlappende Ränder haben
oder disjunkt sind: die Schwarz-Gebietszerlegungs-Methode und die
Schur-Komplement-Methode. Beide Klassen werden im Laufe der Vorlesung
vorgestellt. Speziell die Klasse der additiven überlappenden
Schwarz-Verfahren (ASM, RASM) lässt sich auch meistens in Kombination mit
unvollständiger LU-Zerlegung (ILU(p), ILUT(e,q)) als effizienter robuster
Präkonditionierer für Krylovraum-Verfahren einsetzen. Beispiele der Löser
stammen aus den Löserbibliotheken AZTEC und PETSC, so dass numerische und
parallele Effizienz konkret an Beispielen diskutiert werden kann. Der
Einsatz als Präkonditionierer wird zusammen mit CG-Verfahren und den
klassischen Krylovraum Verfahren wie BICGStab und GMRES diskutiert.
Voraussetzungen:
Die Vorlesung richtet sich an Studierende der Mathematik, Informatik, Natur-
und Ingenieurwissenschaften, die über ein Grundwissen über numerische
Methoden zur Lösung von linearen Gleichungssystemen und partiellen
Differentialgleichungen verfügen.
Inhaltsverzeichnis:
- Was ist Wissenschaftliches Rechnen?
- Überblick über drei Anwendungsprobleme
- Thermoelastizität / Stahlmodellierung
- BRIOS Antarktis-Modell
- Tsunami-Modellierung
- Flachwassergleichungen in verschiedenen Formen:
- Flussform
- Divergenzform
- mit materieller Ableitung
- Herleitung des elliptischen Problems
- Zeitdiskretisierung der Form mit materieller Ableitung
- Semi-implizite Zeitdiskretisierung
- Gewinnung des Helmholtz-Problems mit Bemerkungen
- Modellproblem
- Das elliptische Modellproblem: Die Poisson-Gleichung
- Diskretisierung
- Finite Diffenzen
- Idee der finiten Differenzen
- finite Differenzen erster und zweiter Ordnung
- Gitterfuntion
- Differenzenstern (5-Punkt-Stern)
- Anwendung der FD auf das Modellproblem
- Herleitung der penta-diagonal-Matrix
- Dimensions-Problematik ("Fluch der Dimension")
- Fill-In
- Finite-Elemente-Diskretisierung
- Schwache Formulierung, Hilbertraumtheorie
- diskrete Teilräume, Lemma von Cea
- Finite Elemente: Triangulierung, lineare und höhere Elemente
- Wahl einer Basis, entstehendes lineares Gleichungssystem
- Sparsity: Anzahl der Nicht-Null-Elemente pro Matrixzeile
- Spezialfall: gleiche Matrix wie bei Finiten Differenzen
- lokalisierte Nummerierung (Grundidee space filling curve)
- Red-Black-Nummerierung / coloring
- Speicherformate für dünnbesetzte Matrizen:
- Bandmatrizen, compressed row storage, ALBERTA, ...
- Zugriff, Aufbau, ...
- Rechnerarchitekturen
- Grundoperationen der linearen Algebra
- BLAS Level 1,2,3 (Basic Linear Algebra Subroutines)
- Beispiel BLAS-1: Skalarprodukt, Implementierung auf skalaren, Vektor-
und Parallelrechnern
- Beispiel BLAS-2: Matrix-Vektor-Produkt, Implementierung auf skalaren,
Vektor- und Parallelrechnern
- Rechen-/Speicher-Operationen-Vergleich BLAS-1/2/3
- LU-Faktorisierung oder Gauß-Elimination
- Motivation
- Erinnerung: Dreiecksmatrizen (Vorwärts- und Rückwärtssubstitution)
- Zeilen- vs. Spalten: Algorithmus mit Skalarprodukt oder SAXPY-Operation
- Blockung und multiple rechte Seiten
- Level 3 Anteil
- LU-Idee
- Gauß-Transformation
- Anwendung der Gauß-Transformation
- Algorithmus: zur oberen Dreiecksform
- Eigenschaften von Dreiecksmatrizen (Wiederholung)
- LU-Faktorisierung
- Effiziente Speicherung (Wiederverwendung von A in A=LU)
- Algorithmus: Gauß-Elimination mit äußerem Produkt
- jki-Version der Gauß-Elimination
- Block-LU: die Idee
- LU-Zerlegung von Bandmatrizen
- Cholesky-Zerlegung für symmetrische, positiv definite Matrizen
- Zyklische Reduktion für Tridiagonal-Matrizen
- Parallelisierbarkeit bei zyklischer Reduktion
- Schur-Komplement-Verfahren: direkte Variante
- iterative Variante des SK-Verfahrens
- lokale Lösung mit iterativen Verfahren (PCG, ...)
- Konzepte der Parallelisierung
- Iterative Löser
- Motivation: Komplexität von direkten / iterativen Lösern
- Klassische Iterationsverfahren: Fixpunkt-Iteration, Jacobi-Verfahren,
Gauß-Seidel-Verfahren
- Relaxation: Idee, Underrelaxation, Overrelaxation, SOR
- Red-Black-Gauß-Seidel für das Modellproblem
- Übung: Code PRelax: Serielles Verfahren in C,
OpenMP Pragmas und MPI Send-Receive Aufrufe
- Krylovraum-Methoden: CG-Verfahren, GMRES, ...
- Konvergenzverhalten, Vorkonditionierung
- klass. Iterationsverfahren als Vorkonditionierer
- ILU-Zerlegung, Level-ILU, Threshold-ILU
- Hierarchische Basen, erzielbare Konditionsverbesserung
- Geometrische Multigrid-Verfahren
- Kaskadische Multigrid-Verfahren
- Algebraische Multigrid-Verfahren
- ...
- Gebietszerlegungsverfahren, alternierende Schwarz-Iteration
- Additives Schwarz-Verfahren, Multiplikatives Schwarz-Verfahren
- Einsatz als Vorkonditionierer
- Parallelisierungsaspekte, Beispiele dazu
- ...
Das Inhaltsverzeichnis wird laufend ergänzt.
Materialien zur Vorlesung: (Foliensätze etc.)
Literatur:
Begleitend zur Vorlesung empfiehlt sich das Buch von Dongarra et al. zusammen mit dem Buch von Gene Golub et al., eine tiefergehende Einführung in parallele Multilevel Verfahren findet man in dem sehr empfehlenswerten Buch von Smith, B., Bjorstad, P. und Gropp, W. .
- Dongarra, Duff, Sorensen, van der Vorst, 1998: Numerical linear Algebra for High- Performance Computers, SIAM, ISBN 0-89871-428-1
- Frommer, A, 1990: Lösung linearer Gleichungssysteme auf Parallelrechnern. Institut für Angewandte Mathematik, Universität Karlsruhe.
- Golub, G., Ortega, J. M., 1996: Scientific Computing. Eine Einführung in das wissenschaftliche Rechnen und Parallele Numerik. Teubner Verlag, Stuttgart,
ISBN 3-519-02969-3
- Haase, G., 1999: Parallelisierung numerischer Algorithmen für partielle Differentialgleichungen. Teubner Verlag, Stuttgart, Leipzig, ISBN 3-519-02970-7
- Hockney, R. W., C. R. Jesshope: 1988, Parallel Computers 2, Adam Hilger,
ISBN 0-85274-811-6.
- Smith, B., Bjorstad, P. and Gropp, W., : Parallel Multilevel Methods for Elliptic Partial Differential Equations. Cambridge University Press, ISBN 0-521-49589-X
- Van der Vorst, H.A., van Dooren, P. (Eds), 1989: Parallel Algorithms For Numerical Linear Algebra. North-Holland, Amsterdam, New York, Oxford, Tokyo,
ISBN 0 444 88621 4
- Hwang, K. 1993: Advanced Computer Architecture: Parallelism, Scalability, Programmability. McGraw-Hill.