Journal of Parallel and Distributed Computing · 1986 · 96 citations · 8 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureParallel AlgorithmsParallel ComputingDesign SynthesisParallel Algorithm DesignParallel ArchitecturesParallel Computer ArchitectureParallel Programming ModelsParallel SynthesisDesign MethodologyParallel ProgrammingPipeline DesignPipelinesSystolic Array DesignSystolic ArraysTarget DesignTransformations
In this paper, a design methodology for synthesizing efficient parallel algorithms and VLSI architectures is presented. A design process starts with a problem definition specified in the parallel programming language Crystal and is followed by a series of program transformations in Crystal, each aiming at optimizing the target design for a specific purpose. To illustrate the design methodology, a set of design methods for deriving systolic algorithms and architectures is given and the use of these methods in the design of a dynamic programming solver is described. The design methodology, together with this particular set of design methods, can be viewed as a general theory of systolic designs (or multidimensional pipelines). The fact that Crystal is a general purpose language for parallel programming allows new design methods and synthesis techniques, properties and theorems about problems in specific application domains, and new insights into any given problem to be integrated readily within the existing design framework.
8
On the design of algorithms for VLSI systolic arrays
Dan Moldovan · Proceedings of the IEEE · 1983 · 392 citations
The Design of Optimal Systolic Arrays
Guojie Li, Wah · IEEE Transactions on Computers · 1985 · 229 citations
Spacetime representations of computational structures
W. L. Miranker, Antje Winkler · Computing · 1984 · 160 citations