Abstract
When analyzing programs with parallel imperative constructs (e.g., cobegin/coend), standard computer intermediate representations (Control Flow Graphs) are inadequate. This paper discusses semantics for parallel constructs, and introduces new intermediate forms, called the Parallel Control Flow Graph and the Parallel Precedence Graph. These data structures have certain advantages for compiler analysis and optimization. As an example of the advantages, the analysis requirements of converting an explicitly parallel program into Static Single Assignment form are given. To do this, the dominance relation and dominance frontiers for explicitly parallel programs must be defined.
This work was supported by NSF Grant CCR-8906909 and DARPA Grant MDA972-88-J-1004.
Preview
Unable to display preview. Download preview PDF.
References
Frances Allen, Michael Burke, Philippe Charles, Ron Cytron, and Jeanne Ferrante. An overview of the PTRAN analysis system for multiprocessing. J. Parallel and Distributed Computing, 5(5):617–640, October 1988.
Todd R. Allen and David A. Padua. Debugging Fortran on a shared memory machine. In Sartaj K. Sahni, editor, Proc. 1987 International Conf. on Parallel Processing, pages 721–727, St. Charles, IL, August 1987.
Vasanth Balasundaram and Ken Kennedy. Compile-time detection of race conditions in a parallel program. In Proc. 3rd International Conference on Supercomputing, pages 175–185, June 1989.
Monica Beltrametti, Kenneth Bobey, and John R. Zorbas. The control mechanism for the Myrias parallel computer system. Computer Architecture News, 16(4):21–30, September 1988.
Per Brinch Hansen. Operating Systems Principles. Automatic Computation. Prentice-Hall, 1973.
David Callahan, Ken Kennedy, and Jaspal Subhlok. Analysis of event synchronization in a parallel programming tool. In Second ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming [13], pages 21–30.
Ron Cytron, Jeanne Ferrante, Barry K. Rosen, Mark N. Wegman, and Kenneth Zadeck. Ah efficient method of computing static single assignment form. In Conf. Record 16th Annual ACM Symp. on Principles of Programming Languages, pages 25–35, Austin, TX, January 1989.
Anne Dinning and Edith Schonberg. An empirical comparison of monitoring algorithms for access anomaly detection. In Second ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming [13], pages 1–10.
Michel Dubois, Christoph Scheurich, and Faye Briggs. Memory access buffering in multiprocessors. In Conf. Proc. 13th Annual International Symp. on Computer Architecture, pages 434–442, Tokyo, June 1986.
Leslie Lamport. How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. on Computers, C-28(9):690–691, September 1979.
Samuel P. Midkiff, David A. Padua, and Ron Cytron. Compiling programs with user parallelism. In David Gelernter, Alexandru Nicolau, and David A. Padua, editors, Languages and Compilers for Parallel Computing, Research Monographs in Parallel and Distributed Computing, pages 402–422. MIT Press, Boston, 1990.
Parallel Computing Forum. PCF Fortran, April 1990.
Second ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Seattle, Washington, March 1990. ACM Press.
Harini Srinivasan. Analyzing programs with explicit parallelism. M.S. thesis 91-TH-006, Oregon Graduate Institute, Dept. of Computer Science and Engineering, July 1991.
Michael Wolfe and Harini Srinivasan. Data structures for optimizing programs with explicit parallelism. In Proc. First International Conference of the Austrian Center for Parallel Computation, Salzburg, September 1991. to appear.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Srinivasan, H., Wolfe, M. (1992). Analyzing programs with explicit parallelism. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1991. Lecture Notes in Computer Science, vol 589. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0038679
Download citation
DOI: https://doi.org/10.1007/BFb0038679
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55422-6
Online ISBN: 978-3-540-47063-2
eBook Packages: Springer Book Archive