[comp.parallel] Summary: Compiling Loops to Massively-Parallel MIMD Computers

erspert@athena.mit.edu (Ellen R. Spertus) (03/11/91)

A month ago, I posted a message to this group looking for references
to papers on compiling loops for massively-parallel MIMD computers.
Several people expressed interest, so here is a summary.

					Ellen Spertus

----------------
From: Jeff Martens <martens@cis.ohio-state.edu>

A good place to start is Wolfe's book (basically an update of his
dissertation).  Here's a bibtex entry:

@book{Wol:89,
	author = {Michael Wolfe},
	title = {Optimizing Supercompilers for Supercomputers},
	publisher = {MIT Press},
	address = {Cambridge, MA},
	year = {1989}
}

He has a fairly good bibliography.  A couple paper-length introductions
are: 

@article{Wol:88,
	author = {Michael Wolfe},
	title = {Multiprocessor Synchronization for Concurrent Loops},
	journal = {IEEE Software},
	year = {1988},
	month = {January},
	pages = {34 -- 42}
}

@article{PW:86,
	author = {D. A. Padua and M. J. Wolfe},
	title = {Advanced Compiler Optimizations for Supercomputers},
	journal = {CACM},
	year = {1986},
	month = {December},
	volume = {29},
	number = {12},
	pages = {1184 -- 1201}
}


Each of these papers have bibliographies.  In a nutshell, there's good
work coming from:

	Wolfe at OGI
	Padua, Yew, & Zhu at Illinois
	Ferrante, Cytron, & Allen at IBM TJ Watson
	a parade of researchers at Rice
	Krothapalli (now at Wisconsin-Oshkosh) and Sadayappan here at
		Ohio State

----------------
From: rcosw@koel.co.rmit.oz.au

I am also working on a similar project.  I am writing a Pascal compiler for
our dataflow machine - CSIRAC II.  At the moment I am working on parallel
loop generation and have found several references listed below.

"The reduction of data dependencies in high level programs" - Ph.D Thesis,
Stephen J. Allan, Iowa State University. email : allan@steve.cs.usu.edu

"Parallelizing WHILE Loops" - Youfeng Wu & T.G. Lewis, Oregon State University.
email : lewis@mist.cs.orst.edu

"Dependence of Multi-Dimensional Array References" - Comm of ACM 1988, David R.
Wallace, Alliant Computer Systems.

"Interprocedural Dependence Analysis and Parallelization" - Comm of ACM 1986,
Michael Burke & Ron Cytron, IBM T.J. Watson Research Centre.

----------------
From: lee-chung lu <lu-lee-chung@CS.YALE.EDU>

We have three papers in this area:

L.C. Lu and M.C. Chen,
  "New Loop Transformation Techniques for Massive parallelism",
  Yale University Technical Report TR-833, October 1990.

L.C. Lu and M.C. Chen,
  "Subdomain Dependence Test for Massively Parallel Computing",
    in Proc. Supercomputing '90, 1990.

L.C. Lu,
  "A Unified Framework for Systematic Loop Transformations",
  to appear in Proc. of the Third ACM SIGPLAN Symposium on 
	Principles & Practice of Parallel Programming, 1991

----------------
From: jxr@max.ee.lsu.edu (J. Ramanujam)

I did my dissertation on compilation of loops for distributed
memory machines. Here are the references:

\bibitem{dmcc5} J. Ramanujam and P. Sadayappan,
``Nested Loop Tiling for Distributed Memory Machines,''
{\em Proc. 5th Distributed Memory Computing Conference (DMCC5),\/}
Charleston, S. Carolina, pages 1088--1096, April 1990.

\bibitem{icpp90} J. Ramanujam and P. Sadayappan,
``Tiling of Iteration Spaces for Multicomputers,''
{\em Proc. 1990 International Conference on Parallel Processing,}
Vol 2, pages 179-186, August 1990.

\bibitem{ramdiss} J. Ramanujam,
``Compile-time Techniques for Parallel Execution of Loops on
Distributed Memory Multiprocessors,''
Ph.D. Thesis, Dept. of Computer and Information Science,
The Ohio State University, Columbus, Ohio, September 1990.

----------------
From: bloom-beacon!think!rutgers!yrloc.ipsa.reuter.com!rbe (Robert Bernecky)

The work that Walter Schwarz and I did is not dead on your request,
but you might be interested in some ways to do it wrong on the CM:

a. ACM SIGAPL APL90 conference proceedings: APL Quote Quad Vol. 20, no. 4,     
   July 1990. "Acorn...", by yrs trly. 

b. "Arrays, Functional Languages, and Parallel Systems", Kluwer Academic
   1991. See papers by yrs trly and Walter Schwarz.

----------------

Additionally, some papers I found in the library or through
bibliographies are:

Midkiff, Samuel P. and David A. Padua.  "Compiler Algorithms for
Synchronization."  IEEE Transactions on Computers, Vol C-36, No. 12
(December 1987), 1485 -- 1495.

Midkiff, Samuel P. and David A. Padua.  "Compiler Generated
Synchronization for Do Loops."  Proceedings of the International
Conference on Parallel Processing, 1986, 544 -- 551.

Cytron, Ron.  "Doacross: Beyond Vectorization for Multiprocessors."
Proceedings of the International Conference on Parallel Processing,
1986, 836 -- 844.

Polychronopoulos, Constantine D. and David J. Kuck.  "Guided
Self-Scheduling: A Practical Scheduling Scheme for Parallel
Supercomputers."  IEEE Transactions on Computers, Vol C-36, No. 12
(December 1987), 1425 -- 1439.

Rudolph, David C. and Constantine D. Polychronopoulos.  "An Efficient
Message-Passing Scheduler Based on Guided Self Scheduling."  [I have
this in the form of a University of Illinois technical report.  I
don't know where it was published.]

Polychronopoulos, Constantine D., David J. Kuck., and David A. Padua.
"Execution of Parallel Loops on Parallel Processor Systems."
Proceedings of the International Conference on Parallel Processing,
1986, 519 -- 527.

Allen, John R. and Ken Kennedy.  "A Parallel Programming Environment."
IEEE Software, July, 1985, 21 -- 29.

Allen, Frances, et al.  "A Framework for Determining Useful
Parallelism."  Supercomputing 1988, 207 -- 215.

Girka, Milind and Constantine D. Polychronopoulos.  "Partitioning
Programs for Parallel Execution."  Supercomputing 1988, 216 -- 229.

-- 
=========================== MODERATOR ==============================
Steve Stevenson                            {steve,fpst}@hubcap.clemson.edu
Department of Computer Science,            comp.parallel
Clemson University, Clemson, SC 29634-1906 (803)656-5880.mabell

erspert@athena.mit.edu (Ellen R. Spertus) (03/13/91)

I have a few references to add to my list.  I apologize for not including
them in my first message:

Callahan, David and Ken Kennedy.  "Compiling Programs for Distributed-
memory Multiprocessors."  The Journal of Supercomputing, Vol. 2,
October 1988, 461 -- 469.

Wolfe, Michael.  "Advanced Loop Interchanging."  Proceedings of the
International Conference on Parallel Processing, 1986, 536 -- 543.

Wolfe, Michael, "More Iteration Space Tiling."  Proceedings of Supercomputing
'89, 655 -- 664.

Kennedy, Ken and Kathryn S. McKinley, "Loop Distribution with Arbitrary
Control Flow", Proceedings of Supercomputing '90.

-- 
=========================== MODERATOR ==============================
Steve Stevenson                            {steve,fpst}@hubcap.clemson.edu
Department of Computer Science,            comp.parallel
Clemson University, Clemson, SC 29634-1906 (803)656-5880.mabell