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)
Dissertation / PhD Thesis

Aachen, Techn. Hochsch., Diss., 2011


This thesis introduces a software concept to support proceeding software development processes. The concept considers not only the demand for high performance simulation software but also the maximal possible usability of the software during the development process. It addresses the resulting requirements and proposes different techniques and strategies to fulfill them. More precisely, the requirements are the fast extensibility of the simulation software, the support for stochastic as well as deterministic methods for solving inverse problems, and the support for ccNUMA capabilities of modern computer architectures. In particular any deterministic method makes necessary the computation of derivatives. These derivatives are computed by techniques of automatic differentiation. These techniques are based on an automated program transformation, generating efficient code for the computation of derivatives. The new contributions of this thesis are as follows. On the one hand, the proposed software techniques alleviate the handling of the complex dependencies between the various requirements and considerably simplify the involved program transformations. On the other hand, different hierarchical parallelization strategies are introduced providing an efficient solution for inverse problems on high-performance computing platforms. The novel software techniques are illustrated in the context of a real-world hydro-geothermal simulation code involving a multilevel OpenMP parallelization. Numerical experiments indicate that the proposed parallelization strategy is efficient and that the new software techniques are feasible and robust.