We present a simple method for developing parallel and systolic programs from data dependence. We derive sequences of parallel computations and communications based on data dependence and communication delays, and minimize the communication delays and processor idle time. The potential applications for this method include supercompiling, automatic development of parallel programs, and systolic array design. 1 Introduction Given a sequential program consisting of a loop, or a set of equations that recursively define an array, we want to develop a parallel program for a shared or distributed memory parallel computer. There are two problems here. First we have to reveal the parallelism and find the sequences of parallel computations. Second, ...
Parallel computers can provide impressive speedups, but unfortunately such speedups are difficult to...
[[abstract]]A methodology for designing pipelined data-parallel algorithms on multicomputers is stud...
This paper proposes an efficient run-time system to schedule general nested loops on multiprocessors...
We present a simple method for developing parallel and systolic programs from data dependence. We de...
The model presented here for systolic parallelization of programs with multiple loops aims at compil...
A systematic method to map systolizable problems onto multicomputers is presented in this paper. A s...
The optimization of programs with explicit--i.e. user specified--parallelism requires the computatio...
In this paper we present a systematic method for mapping systolizable problems onto Distributed Memo...
A systematic method to m q systolizable proMems onto multicomputers is presented in this paper. A sy...
AbstractIn this paper we present a derivation method for networks of systolic cells. The method is c...
Three related problems, among others, are faced when trying to execute an algorithm on a parallel ma...
We describe a new, practical, constructive method for solving the well-known conflict-free schedulin...
In this paper we present a derivation method for networks of systolic cells. The method is calculati...
Data distribution functions are introduced. They are matced with scheduling functions. The processor...
Parallel programming is an intellectually demanding task. One of the most difficult challenges in th...
Parallel computers can provide impressive speedups, but unfortunately such speedups are difficult to...
[[abstract]]A methodology for designing pipelined data-parallel algorithms on multicomputers is stud...
This paper proposes an efficient run-time system to schedule general nested loops on multiprocessors...
We present a simple method for developing parallel and systolic programs from data dependence. We de...
The model presented here for systolic parallelization of programs with multiple loops aims at compil...
A systematic method to map systolizable problems onto multicomputers is presented in this paper. A s...
The optimization of programs with explicit--i.e. user specified--parallelism requires the computatio...
In this paper we present a systematic method for mapping systolizable problems onto Distributed Memo...
A systematic method to m q systolizable proMems onto multicomputers is presented in this paper. A sy...
AbstractIn this paper we present a derivation method for networks of systolic cells. The method is c...
Three related problems, among others, are faced when trying to execute an algorithm on a parallel ma...
We describe a new, practical, constructive method for solving the well-known conflict-free schedulin...
In this paper we present a derivation method for networks of systolic cells. The method is calculati...
Data distribution functions are introduced. They are matced with scheduling functions. The processor...
Parallel programming is an intellectually demanding task. One of the most difficult challenges in th...
Parallel computers can provide impressive speedups, but unfortunately such speedups are difficult to...
[[abstract]]A methodology for designing pipelined data-parallel algorithms on multicomputers is stud...
This paper proposes an efficient run-time system to schedule general nested loops on multiprocessors...