| | |
Summary: An Overview of a Compiler for
Scalable Parallel Machines
Saman P. Amarasinghe, Jennifer M. Anderson,
Monica S. Lam and Amy W. Lim
Computer Systems Laboratory
Stanford University, CA 94305
Abstract. This paper presents an overview of a parallelizing compiler
to automatically generate efficient code for largescale parallel architec
tures from sequential input programs. This research focuses on looplevel
parallelism in dense matrix computations. We illustrate the basic tech
niques the compiler uses by describing the entire compilation process for
a simple example.
Our compiler is organized into three major phases: analyzing array refer
ences, allocating the computation and data to the processors to optimize
parallelism and locality, and generating code.
An optimizing compiler for scalable parallel machines requires more so
phisticated program analysis than the traditional data dependence anal
ysis. Our compiler uses a precise dataflow analysis technique to identify
the producer of the value read by each instance of a read access. In or
der to allocate the computation and data to the processors, the compiler
|