"Enabling Polyhedral Optimizations in LLVM" (Tobias Grosser, April 2011) This thesis presents Polly, an infrastructure making optimizations using the polyhedron model available to LLVM.
"Feature-Oriented Composition of XML Artifacts" (Jens Dörre, March 2009) Looks into applying to XML languages the compositional approach to feature-oriented software design. Therein the language-independent, grammar-based tool FeatureHouse is extended to a prototype for languages based on XML Schema. However, these semi-structured languages form a class of languages wider than the class of modern programming languages; hence there are additional challenges for feature composition.
"Extending a Task Farming Framework with Dependences to P2P Communications" (Philipp Claßen, February 2009) In this thesis, the master-worker HOC is replaced by a new P2P-HOCthat extends the taskfarming scheme by peer-to-peer communicationbetween workers, thus increasing the scalability and performance ofthe target application.
"SPARK for Concurrent Programming" (Michael Haller, March 2006) SPARK is an environment for the automatic verification of Ada programs which, however, caters only to a subset of Ada. Concurrency is one of the features which are not permitted. The thesis proposes a SPARK variant, called PassauSPARK, which can be used to verify monitors in process/monitor programs. A case study is the prototypical operating system of a routing node in a processor network.
"Automatic Code Generation for Distributed Memory Architectures in the Polytope Model" (Michael Claßen, September 2005) This thesis presents a fully automated method for generating efficient target code within the framework of the LooPo project. The generated communication code enables the execution on clusters that are based on a distributed memory architecture. In order to achieve a good message vectorization, the tiling technique is used to increase the granularity of parallelism in the program. The implementation uses a combination of C/C++ and MPI as target language.
"Tuning MetaOCaml Programs for High Performance" (Tobias Langhammer, September 2005) This thesis consists of a comprehensive analysis how to achieve, in the presence of abstract programming paradigms, performance results with MetaOCaml, which are usually subject to languages close to the hardware, like C or Fortran. Background information and further publications of Tobias Langhammer are available on the metaprogramming project page.
"Extending the Polyhedron Model to Inequality Systems with Non-linear Parameters using Quantifier Elimination" (Armin Größlinger, September 2003) The polyhedron model usually allows parameters to appear only linearly in inequalities, i.e., products of parameters or of parameters and variables are not allowed. This thesis examines the possibility of extending the polyhedron model to allow non-linear parameters which are, e.g., necessary for tiling with parametric tile sizes. The main mathematical tool to achieve this generalization is quantifier elimination in the real numbers.
"Parallelization of Loop Nests with General Bounds in the Polyhedron Model" (Max Geigl, March 1997) One part examines the implications of different loop types for target code generation and integrates the results in a class hierarchy. Another part extends the polyhedron model to imperfect loop nests containing general for loops, while loops and (plain) if statements.
"The Challenges of Non-linear Parameters and Variables in Automatic Loop Parallelisation" (Armin Größlinger, December 2009) Extends the polyhedron model for loop parallelization to cover certain non-linearities at the level of the model. Applications are, e.g., analyzing dependences in the presence of one non-linear parameter, computing non-linear schedules, applying tiling with non-fixed tile sizes and generating code for arbitrary polynomial loop bounds.
"PolyAPM: Comparative Parallel Programming with Parallel Abstract Machines" (Nils Ellmenreich, August 2004) Uses parallel abstract machines as interpreters for intermediate programs in a program refinement tree, whose root os a problem specification and whose leaves are efficient target programs. As a decision aid for the selection of refinements, a cost model can be applied to an intermediate refinement to predict the performance of target programs it may lead to.
"Automatic Parallelization of Loop Programs for Distributed Memory Architectures" (Martin Griebl, December 2004) Presents all necessary phases of automatic, model-based parallelization. The central aspects are, first, a refinement of the model by index set splitting and, second, a tiling of the parallelized program in order to adapt the communication overhead to the target architechture's parameters (e.g., number of processors, ratio between communication and computation cost).
"Abstraction and Performance in the Design of Parallel Programs" (Sergei Gorlatch, July 1997) Presents a systematic approach based on abstracting low-level details of parallelism. Describes methods of transforming abstract specifications into efficient algorithms and experiments with target programs on parallel machines.