Ein Softwarekonzept zur hierarchischen Parallelisierung von stochastischen und deterministischen Inversionsproblemen auf modernen ccNUMA-Plattformen unter Nutzung automatischer Programmtransformation

  • A software conception for hierarchical parallelizing of stochastic and deterministic inverse problems on modern ccNUMA systems and the use of automated program transformation

Wolf, Andreas; Bischof, Christian (Thesis advisor)

Aachen : Publikationsserver der RWTH Aachen University (2011)
Doktorarbeit

Aachen, Techn. Hochsch., Diss., 2011

Kurzfassung

Das hier vorgestellte Softwarekonzept befasst sich hauptsächlich mit der Unterstützung eines fortschreitenden Software-Entwicklungsprozesses. Dabei wurde der Bedarf nach Hochleistungs-Simulationssoftware genauso berücksichtigt wie eine überwiegende Nutzbarkeit der Software während des Entwicklungsprozesses. Die vorliegende Arbeit beschäftigt sich mit allen sich daraus ergebenden Anforderungen und deren Lösung durch verschiedene Software-Techniken und Strategien. Im Detail handelt es sich um eine schnelle Erweiterbarkeit des Simulationsprogramms, einer Unterstützung von stochastischen und deterministischen Verfahren zur Lösung von Inversionsproblemen und Unterstützung moderner ccNUMA-Rechnerarchitekturen. Besonders die deterministischen Verfahren sind auf die Berechnung von Ableitungen angewiesen. Dafür wird die Technik des automatischen Differenzierens eingesetzt, mit der effizienter Code zur Berechnung von Ableitungen auf Basis einer automatisierten Programm-Transformation erzeugt wird. In dieser Arbeit wird einerseits aufgrund der komplexen Zusammenhänge eine Software-Technik angewendet und beschrieben, um die Programmcode-Transformationen wesentlich zu erleichtern. Andererseits werden verschiedene hierarchische Parallelisierungs-Strategien analysiert und verglichen, um eine effiziente Lösung für das Hochleistungsrechnen zu erzielen. Die beschriebenen Software-Techniken wurden in Verbindung mit einer mehrstufigen OpenMP-Parallelisierung an einem hydro-geothermalen Simulationsprogramm beispielhaft umgesetzt. Numerische Experimente belegen, dass die bevorzugte Parallelisierungs-Strategie effizient ist und die beispielhafte Anwendung der beschriebenen Software-Technik zeigt, dass sie praktikabel und robust ist.

Identifikationsnummern