Re: Compilers for parallel computing

Colin Brough <cmb@castle.edinburgh.ac.uk>
Thu, 23 May 91 10:54:51 WET DST

          From comp.compilers

Related articles
Compilers for parallel computing julia@cs.warwick.ac.uk (Julia Dain) (1991-05-22)
Re: Compilers for parallel computing metzger@convex.com (1991-05-23)
Re: Compilers for parallel computing ds@juniper.cray.com (1991-05-23)
Re: Compilers for parallel computing cmb@castle.edinburgh.ac.uk (Colin Brough) (1991-05-23)
Re: Compilers for parallel computing lins@Apple.COM (1991-05-24)
| List of all articles for this month |
Newsgroups: comp.compilers
From: Colin Brough <cmb@castle.edinburgh.ac.uk>
Keywords: parallel, books, vector
Organization: Compilers Central
References: 91-05-095
Date: Thu, 23 May 91 10:54:51 WET DST

> Help please - can anyone recommend a good textbook on compilers for
> parallel computing.


The four titles mentioned are probably the best available at the moment. As
I have all four on my shelves at the moment I'll try and (very briefly)
describe each, and then recommend one.


Gelernter and Nicolau: Languages and Compilers for Parallel Computing
---------------------- (Pitman, 1990)
This book is a collection of the papers presented at the Second Workshop on
Languages and Compilers for Parallel Computing which took place in Urbana,
Illinois, in August 1989. As a snapshot of what people are currently doing,
and as a starting point for finding relevant references this is an excellent
book, but it is not a textbook. Pitman will be publishing "Advances in
Languages and Compilers for Parallel Computing" (eds. Nicolau, Padua,
Gelernter and Gross) in late June of this year, a book in the same style as
this one. It is the only one of the books that is not interested primarily
in detecting and exploiting implicit parallelism, and includes papers on
'Compiling Programs with User Parallelism' and 'Compiling for Dataflow
Software Pipelining', for example.


Polychronopoulous: Parallel Programming and Compilers
------------------ (Kluwer Academic, 1988)
(I must confess that this is the book I hve read least.) "The three major
sections offer a description of problems and solutions related to program
restructuring and parallelism detection, scheduling of program modules,
overhead and performance analysis." This is not a textbook in the classic
sense, but aims to present "material at the forefront of parallel
processing". All of the material is from the shared memory multiprocessor
world - no discussion of the problems of distributed memory, for example.


Wolfe: Optimizing Supercompilers for Supercomputers
------ (Pitman, 1989)
Based on Wolfe's 1982 PhD Thesis this book is really on Data Dependence
Analysis and it's application to loop transformations rather than the
broader 'Compilers for Parallel Computers'. Again this work, though less
explicitly limited to shared memory architectures, is certainly biased in
that direction. It is a very clear introduction to data dependence
analysis, the best that I have seen.


Zima and Chapman: Supercompilers for Parellel and Vector Computers
----------------- (Addison Wesley, 1990)
This is probably the only book in the field that attempts to be a textbook,
and gives a broad introduction to the issues in writing compilers for
parallel machines. Scalar analysis, data dependence analysis, several
standard loop transformations, vectorisation and parallelisation are all
dealt with. There are also a number of case studies of current systems
(Parafrase, PFC and SUPERB) that help illustrate the issues raised in the
text.


None of these books is able to offer level of detail that the Dragon book
goes into since this is still a devloping field. When the Dragon book says
'You can do it this way', unless you are after the last ounce of performance
the algorithm or data structure presented will usually be quite adequate,
but this is not yet the case in compiling for parallel computers. There is
no consensus yet on how things should be done.


Recommendation: I suspect that the Zima and Chapman book would be the best
one to start with; it also has an excellent bibliography.
__
Colin Brough Edinburgh Parallel Computing Centre
cmb@castle.ed.ac.uk James Clerk Maxwell Building
cmb%ed.ac.uk@nsfnet-relay.ac.uk Mayfield Road
                                                                              Edinburgh EH9 3JZ
Phone: +44 31-650-5022 SCOTLAND
Fax: +44 31-662-4712
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.