Paralleles Rechnen
Performancebetrachtungen zu Gleichungslösern
Josef Schüle
Die ersten Kapitel konzentrieren sich auf die Informatik und beinhalten informatische Grundbegriffe, Rechnerarchitekturen und ein Performancemodell, OpenMP als Programmierumgebung für Mehrkernrechner und MPI und PVM als Programmiermodelle für Rechner mit verteiltem Speicher. Anschließend werden mathematische Algorithmen, Performancebetrachtungen, Design paralleler Programme und Ausführungen zu Simulationsprogrammen aus den Ingenieur- und Naturwissenschaften gegenübergestellt. Die nächsten Kapitel sind Performancebetrachtungen und Parallelisierungsstrategien für mathematische Algorithmen gewidmet, bevor abschließend GPUs behandelt und Teile der zuvor erläuterten Algorithmen auf diese übertragen und diskutiert werden. Roter Faden durch das mit vielen Erläuterungen und Quelltextbeispielen angereicherte Buch ist die Performanceanalyse unterschiedlicher Speicherungstechniken von Feldern am Beispiel der algorithmischen Lösung linearer Gleichungssysteme. Dazu wird zunächst das Gaußsche Eliminationsverfahren auf ein Blockverfahren umgestellt und dieses mit sehr hoher Performance auf einem Mehrkernrechner parallelisiert. Bei der iterativen Lösung linearer Gleichungssysteme steht das konjugierte Gradienten-Verfahren und seine fein granulare Parallelisierung im Vordergrund. Besonderes Augenmerk richtet sich dabei auf die Matrix-Vektor-Multiplikation und die Abhängigkeit der Performance von der Speicherungstechnik der Matrix. Gebietszerlegungsmethoden zur Lösung linearer Gleichungssysteme bieten einen grob granularen Parallelisierungsansatz, der für das massiv parallele Rechnen der fein granularen Parallelisierung auf Schleifenebene überlegen ist.