Automatic parallelization of nested loops, based on a mathematical model, the polytope model, has been improved significantly over the last decade: state-of-the-art methods allow flexible distributions of computations in space and time, which lead to high-quality parallelism. However, these methods have not found their way into practical parallelizing… (More)
There are many algorithms for the space-time mapping of nested loops. Some of them even make the optimal choices within their framework. We propose a preprocessing phase for algorithms in the polytope model, which extends the model and yields space-time mappings whose schedule is, in some cases, orders of magnitude faster. These are cases in which the… (More)
We present an application of quantifier elimination techniques in the automatic par-allelization of nested loop programs. The technical goal is to simplify affine inequalities whose coefficients may be unevaluated symbolic constants. The values of these so-called structure parameters are determined at run time and reflect the problem size. Our purpose here… (More)
1 What is LooPo? LooPo is a new loop parallelizing framework developed at the University of Passau to aid us in research on the space-time mapping of loop nests. LooPo is available on the Web 10] and uses only free software. It runs under SunOS 4.1.x, Solaris 2.x, and Linux. LooPo is based on the polytope model 8]. Anybody interested in one special aspect… (More)
— The polytope model has been used successfully as a tool for program analysis and transformation in the field of automatic loop parallelization. However, for the final step of automatic code generation, the generated code is either only usable on shared memory architectures or severely restricts the parallelization methods that can be applied. In this… (More)
Automatic parallelization of imperative programs has focused on nests of do loops with aane bounds and aane dependences, because in this case execution domains and dependences are precisely known at compile-time. Parallelization can then be done using a suitable space-time transformation , yielding a logically synchronous program. Code generation consists… (More)
We propose a class hierarchy for loops in a loop nest. Its purpose is to help identify the proper code generation methods for a space-time mapped nest. We illustrate the hierarchy and its use on a loop nest for computing the reeexive transitive closure of a graph.
This paper describes a precise reaching deenition (RD) analysis tuned for arrays. RD analyses are of two kinds. The rst group, Maximal Fixed Point (MFP) analyses, considers arrays as indivisible objects and does not contrast the side-eeects of separate instances of writes. Its main beneet, however, is its wide applicability (e.g. to any unstructured… (More)