Abstract
PTRAN (Parallel TRANslator) is a system for automatically restructuring sequential FORTRAN programs for execution on parallel architectures. This paper describes PTRAN-A: the currently operational analysis phase of PTRAN. The analysis is both broad and deep, incorporating interprocedural information into dependence analysis. The system is organized around a persistent database of program and procedure information. PTRAN incorporates several new, fast algorithms in a pragmatic design.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
Bibliography
A. V. Aho and J. D. Ullman. Principles of Compiler Design. Addison-Wesley, 1977.
Fran Allen, Michael Burke, and Ron Cytron. The PTRAN Multiprocessing Model, IBM Research, 1987. Report RC12552.
Frances E. Allen. Compiling for Parallelism. in G. Almasi, R. Hockney, and G. Paul, editor, Proceedings of the IBM Institute Europe, North-Holland Press, 1986.
F. E. Allen, J. L. Carter, J. Fabri, J. Ferrante, W. H. Harrison, P. G. Loewner, and L. H. Trevillyan. The Experimental Compiling System. IBM Journal of Research and Development, 24(6), November 1980.
Frances E. Allen and John Cocke. A Program Data Flow Analysis Procedure. Communications of the ACM, 19(3):137–146, March 1976.
John R. Allen. Dependence Analysis for Subscript Variables and Its Application to Program Transformations, PhD thesis, Rice University, Houston, Texas 1983.
J. R. Allen, Ken Kennedy, Carrie Porterfield, and Joe Warren. Conversion of Control Dependence to Data Dependence. Conf. Rec. Tenth ACM Symposium on Principles of Programming Languages, 1983.
Randy Allen, David Callahan, and Ken Kennedy. Automatic Decomposition of Scientific Programs for Parallel Execution. Conference Record of the Fourteenth Annual ACM Symposium on Principles of Programming Languages, pages 63–76, January 1987.
Todd Allen, Michael Burke, and Ron Cytron. A Practical and Powerful Algorithm for Subscript Dependence Testing, IBM, 1986. Internal Report.
M. Auslander and M. Hopkins. An Overview of the PL.8 Compiler. Proceedings of the Sigplan ′82 Symposium on Compiler Construction, 17(6):22–31, June 1982.
Utpal Banerjee. Speedup of Ordinary Programs, PhD thesis, University of Illinois at Urbana-Champaign, Urbana, Illinois 1979.
Utpal Banerjee, Shyh-Ching Chen, David J. Kuck, and Ross A. Towle. Time and Parallel Processor Bounds for Fortran-Like Loops. IEEE Transactions on Computers, C-28(9):660–670, September 1979.
John Banning. An Efficient Way to Find the Side Effects of Procedure Calls and the Aliases of Variables. Conf. Rec. Sixth ACM Symposium on Principles of Programming Languages, 1979.
Michael Burke. An Interval Analysis Approach Toward Interprocedural Data Flow, IBM Research, 1984. Report RC11794.
Michael Burke and Ron Cytron. Interprocedural Dependence Analysis and Parallelization. Proceedings of the Sigplan '86 Symposium on Compiler Construction, 21(7):162–175, July 1986.
Michael Burke and Ron Cytron. Interprocedural Dependence Analysis and Parallelization (Extended Version), IBM Research, 1986. Report RC11794.
David Callahan, Keith D. Cooper, Ken Kennedy, and Linda Torczon. Interprocedural Constant Propagation. Proceedings of the Sigplan '86 Symposium on Compiler Construction, 21(7):152–161, July 1986.
Keith Cooper and Ken Kennedy. Efficient Computation of Flow Insensitive Interprocedural Summary Information. Proceedings of the SIGPLAN 84 Symposium on Compiler Construction, 1984.
Keith D. Cooper, Ken Kennedy, and Linda Torczon. Interprocedural Optimization: Eliminating Unnecessary Recompilation. Proceedings of the Sigplan '86 Symposium on Compiler Construction, 21(7):58–67, July 1986.
Keith D. Cooper, Ken Kennedy, and Linda Torczon. The Impact of Interprocedural Analysis and Optimization in the Rn Programming Environment. ACM Transactions on Programming Languages and Systems, 8(4):491–523, October 1986.
Ron Cytron. Compile-time Scheduling and Optimization for Asynchronous Machines, PhD thesis, University of Illinois at Urbana-Champaign, Urbana, Illinois 1984.
Ron Cytron. Useful Parallelism in a Multiprocessing Environment. Proc. 1985 International Conference on Parallel Processing, 1985.
J. Ferrante, K. Ottenstein, and J. Warren. The Program Dependence Graph and its Use in Optimization. ACM Trans. on Programming Languages and Systems, July 1987. To appear.
Stefan M. Freudenberger, Jacob T. Schwartz, and Micha Sharir. Experience with the SETL Optimizer. ACM Transactions on Programming Languages and Systems, 5(1):26–45, January 1983.
Ken Kennedy. Automatic Translation of FORTRAN Programs to Vector Form, Rice University, 1980. Report 476-029-4.
G. Kildall. A Unified Approach to Program Optimization. Conference Record of First ACM Symposium on Principles of Programming Languages, 1973.
David J. Kuck. The Structure of Computers and Computations. John Wiley and Sons, 1978.
D. J. Kuck, R. H. Kuhn, B. Leasure, and M. Wolfe. The Structure of an Advanced Vectorizer for Pipelined Processors. Proceedings of CompSAC 80 (Fourth International Computer Software and Applications Conference), pages 709–715, October 1980.
D. J. Kuck, R. H. Kuhn, D. A. Padua, B. Leasure, and M. Wolfe. Dependence Graphs and Compiler Optimizations. Conference Record of 8th ACM Symposium on Principles of Programming Languages, 1981.
L. Lamport. The Parallel Execution of DO Loops. Communications of the ACM, pages 83–93, February 1974.
Bruce R. Leasure. Compiling Serial Languages for Parallel Machines, University of Illinois at Urbana-Champaign, 1976. M.S. Thesis.
David A. Padua and Michael J. Wolfe. Advanced Compiler Optimizations for Supercomputers. Communications of the ACM, 29(12):1184–1201, December 1986.
J. H. Reif and H. R. Lewis. Symbolic Evaluation and the Global Value Graph. Conf. Rec. Fourth ACM Symposium on Principles of Programming Languages, 1977.
J. T. Schwartz and M. Sharir. A Design for Optimizations of the Bitvectoring Class, New York University, September 1979. Courant Computer Science Report #17.
B. T. Smith, J. M. Boyle, J. J. Dongarra, B. S. Garbow, Y. Ikebe, V. C. Klema, and C. B. Moler. Matrix Eigensystem Routines — Eispack Guide. Springer-Verlag, Heidelberg, West Germany, 1976.
Remi Triolet. Contribution a la Parellisation Automatique de Programmes Fortran Comportant des Appels de Procedure, PhD thesis, L'Universite Pierre et Marie Curie (Paris VI), Paris, France 1984.
Remi Triolet, Francois Irigoin, and Paul Feautrier. Direct Parallelization of Call Statements. Proceedings of the Sigplan '86 Symposium on Compiler Construction, 21(7):176–185, July 1986.
Mark Wegman and Ken Zadeck. Constant Propagation with Conditional Branches. Conf. Rec. Twelfth ACM Symposium on Principles of Programming Languages, pages 291–299, January 1985.
Michael Wolfe. Personal Communication
Michael J. Wolfe. Techniques for Improving the Inherent Parallelism in Programs, University of Illinois at Urbana-Champaign, 1978. M.S. Thesis.
Michael J. Wolfe. Optimizing Supercompilers for Supercomputers, PhD thesis, University of Illinois at Urbana-Champaign, Urbana, Illinois 1982. Report No. UIUCDCS-R-82-1105.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1988 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Allen, F., Burke, M., Charles, P., Cytron, R., Ferrante, J. (1988). An overview of the PTRAN analysis system for multiprocessing. In: Houstis, E.N., Papatheodorou, T.S., Polychronopoulos, C.D. (eds) Supercomputing. ICS 1987. Lecture Notes in Computer Science, vol 297. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-18991-2_12
Download citation
DOI: https://doi.org/10.1007/3-540-18991-2_12
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-18991-6
Online ISBN: 978-3-540-38888-3
eBook Packages: Springer Book Archive