Results 1  10
of
51
A Systolizing Compiler
 Distributed Computing
, 1992
"... We present an automatic scheme to generate programs for distributedmemory multiprocessors. We begin with a source program that contains no references to concurrency or communication. The source program corresponds to a systolic array: as such, it is a nested loop program with regular data dependenc ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
We present an automatic scheme to generate programs for distributedmemory multiprocessors. We begin with a source program that contains no references to concurrency or communication. The source program corresponds to a systolic array: as such, it is a nested loop program with regular data
Scanning Polyhedra with DO Loops
, 1991
"... Supercompilers perform complex program transformations which often result in new loop bounds. This paper shows that, under the usual assumptions in automatic parallelization, most transformations on loop nests can be expressed as affine transformations on integer sets de ned by polyhedra and that th ..."
Abstract

Cited by 216 (5 self)
 Add to MetaCart
and that the new loop bounds can be computed with algorithms using Fourier's pairwise elimination method although it is not exact for integer sets. Sufficient conditions to use pairwise elimination on integer sets and to extend it to pseudolinear constraints are also given. A tradeo has to be made between
Trapezoid SelfScheduling: A Practical Scheduling Scheme for Parallel Compilers
, 1993
"... In this paper, we present a new practical processor selfscheduling scheme, Trapezoid SelfScheduling, for arbitrary parallel nested loops in sharedmemory multiprocessors. Generally, loops are the richest source of parallelism in parallel programs. To dynamically allocate loop iterations to process ..."
Abstract

Cited by 96 (4 self)
 Add to MetaCart
In this paper, we present a new practical processor selfscheduling scheme, Trapezoid SelfScheduling, for arbitrary parallel nested loops in sharedmemory multiprocessors. Generally, loops are the richest source of parallelism in parallel programs. To dynamically allocate loop iterations
A CompileTime Partitioning Strategy for NonRectangular Loop Nests
 In Proceedings of the 11th International Parallel Processing Symposium (Geneva
, 1997
"... This paper presents a compiletime scheme for partitioning nonrectangular loop nests which consist of inner loops whose bounds depend on the index of the outermost, parallel loop. The minimisation of load imbalance, on the basis of symbolic cost estimates, is considered the main objective; however, ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
This paper presents a compiletime scheme for partitioning nonrectangular loop nests which consist of inner loops whose bounds depend on the index of the outermost, parallel loop. The minimisation of load imbalance, on the basis of symbolic cost estimates, is considered the main objective; however
The Range Test: A Dependence Test for Symbolic, Nonlinear
 Proceedings of Supercomputing '94, Washington D.C
, 1994
"... Most current data dependence tests cannot handle loop bounds or array subscripts that are symbolic, nonlinear expressions (e.g. A(n i+j), where 0 j n). In this paper, we describe a dependencetest,called the range test, that can handle such expressions. Briefly, the range test proves independence ..."
Abstract

Cited by 89 (17 self)
 Add to MetaCart
by determining whether certain symbolic inequalities hold for a permutation of the loop nest. Powerful symbolic analyses and constraint propagation techniques were developedtoprove such inequalities.Therange test has been implemented in Polaris, a parallelizing compiler being developed at the University
Deriving Formulae to Count Solutions to Parameterized Linear Systems using Ehrhart Polynomials: Applications to the Analysis of NestedLoop Programs
, 1997
"... Optimizing parallel compilers need to be able to analyze nested loop programs with parametric affine loop bounds, in order to derive efficient parallel programs. The iteration spaces of nested loop programs can be modeled by polyhedra and systems of linear constraints. Using this model, important pr ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
Optimizing parallel compilers need to be able to analyze nested loop programs with parametric affine loop bounds, in order to derive efficient parallel programs. The iteration spaces of nested loop programs can be modeled by polyhedra and systems of linear constraints. Using this model, important
CompileTime Partitioning of ThreeDimensional Iteration Spaces
, 1997
"... This paper presents a strategy for compiletime partitioning of generalised threedimensional iteration spaces; it can be applied to loop nests comprising two inner nested loops both of which have bounds linearly dependent on the index of the outermost parallel loop. The strategy is analysed using sy ..."
Abstract
 Add to MetaCart
This paper presents a strategy for compiletime partitioning of generalised threedimensional iteration spaces; it can be applied to loop nests comprising two inner nested loops both of which have bounds linearly dependent on the index of the outermost parallel loop. The strategy is analysed using
A Linear Algebra Framework for Static HPF Code Distribution
, 1995
"... High Performance Fortran (hpf) was developed to support data parallel programming for simd and mimd machines with distributed memory. The programmer is provided a familiar uniform logical address space and specifies the data distribution by directives. The compiler then exploits these directives to ..."
Abstract

Cited by 81 (11 self)
 Add to MetaCart
bounds and vectorized communications for INDEPENDENT loops. The generated code includes traditional optimizations such as guard elimination, message vectorization and aggregation, overlap analysis... The systematic use of an affine framework makes it possible to prove the compilation scheme correct
Automatic Code Generation for Executing Tiled Nested Loops Onto Parallel Architectures
, 2002
"... This paper presents a novel approach for the problem of generating tiled code for nested forloops using a tiling transformation. Tiling or supernode transformation has been widely used to improve locality in multilevel memory hierarchies as well as to efficiently execute loops onto nonuniform mem ..."
Abstract

Cited by 8 (4 self)
 Add to MetaCart
uniform memory access architectures. However, automatic code generation for tiled loops can be a very complex compiler work due to nonrectangular tile shapes and iteration space bounds. Our method considerably enhances previous work on rewriting tiled loops by considering parallelepiped tiles and arbitrary
Beyond Induction Variables
, 1992
"... Induction variable detection is usually closely tied to the strength reduction optimization. This paper studies induction variable analysis from a different perspective, that of finding induction variables for data dependence analysis. While classical induction variable analysis techniques have been ..."
Abstract

Cited by 95 (6 self)
 Add to MetaCart
been used successfully up to now, we have found a simple algorithm based on the the Static Single Assignment form of a program that finds all linear induction variables in a loop. Moreover, this algorithm is easily extended to find induction variables in multiple nested loops, to find nonlinear
Results 1  10
of
51