Advertisement

Parallel programming support in ParaScope

  • David Callahan
  • Keith D. Cooper
  • Robert T. Hood
  • Ken Kennedy
  • Linda M. Torczon
  • Scott K. Warren
Part III - Software And Languages
Part of the Lecture Notes in Computer Science book series (LNCS, volume 295)

Abstract

The first vector supercomputers appeared on the market in the early to mid seventies. Yet, because of the lag in developing supporting software, it is only recently that vectorizing compilers powerful enough to effectively utilize vector hardware have been developed.

Since parallel programming is a much more complex task than vectorization, we expect the challenge of producing adequate programming support to be much greater. In the ParaScope project, we will be exploring the leverage to be gained through an integrated collection of tools in which each tool depends on the others for important information. For example, the editor will depend on the interprocedural analyzer, which itself depends on the results of editing other modules. The debugger uses dependence information to assist in the location of potential problems. The user interface permits abstract displays of the data-flow information within a program.

We believe that it is essential to have this sort of cooperation to provide adequate support for programming on the evolving class of highly parallel machines.

Keywords

Parallel Programming Parallel Execution FORTRAN Program Dynamic Medium Remote Machine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

5. References

  1. [Alle 83]
    J.R. Allen, “Dependence analysis for subscripted variables and its application to program transformations,” Ph.D. dissertation, Department of Mathematical Sciences, Rice University, Houston, Texas, April, 1983.Google Scholar
  2. [ABKP 86]
    J.R. Allen, D. Baumgartner, K. Kennedy, and A. Porterfield, “PTOOL: a semiautomatic parallel programming assistant”, Proc. 1986 International Conference on Parallel Processing, IEEE Computer Society Press, Washington, D.C., 1986.Google Scholar
  3. [AICK 87]
    J.R. Allen, D. Callahan and K. Kennedy, “Automatic decomposition of scientific programs for parallel execution,” Conf. Record, 14th POPL, January, 1987.Google Scholar
  4. [AlKe 84]
    J.R. Allen and K. Kennedy, “PFC: a program to convert FORTRAN to parallel form,” Supercomputers: Design and Applications, K. Hwang, ed., IEEE Computer Society Press, Silver Spring, MD, 1984, 186–203.Google Scholar
  5. [AlKe85]
    J.R. Allen and K. Kennedy, “A parallel programming environment,” IEEE Software 2(4), July 1985.Google Scholar
  6. [AlKe 86]
    J.R. Allen and K. Kennedy, “Vector register allocation”, Technical Report 86–45, Rice University, Department of Computer Science, December, 1986.Google Scholar
  7. [CCKT 86]
    D. Callahan, K.D. Cooper, K. Kennedy, and L. Torczon, “Interprocedural constant propagation”, Proc. SIGPLAN '86 Symposium on Compiler Construction, SIGPLAN Notices, 21(7), July, 1986.Google Scholar
  8. [Call 87]
    D. Callahan, “A global approach to the detection of parallelism”, Ph.D. Thesis, Department of Computer Science, Rice University, February, 1987.Google Scholar
  9. [Carm 69]
    " S. Carmody et al., “A hypertext editing system for the /360”, Pertinent Concepts in Computer Graphics, M. Faiman and J. Nievergelt (eds.), Univ. of Illinois Press, 1969, 291–330..Google Scholar
  10. [CaRy 86]
    M. Carroll and B.G. Ryder, “An incremental algorithm for software analysis”, Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, SIGPLAN Notices 22(1), January, 1987.Google Scholar
  11. [ChHo 87]
    B.B. Chase and R.T. Hood, “Selective interpretation as a technique for debugging computationally intensive programs”, Proc. SIGPLAN '87 Symposium on Interpreters and Interpretive Techniques, June, 1987.Google Scholar
  12. [Coop 83]
    K.D. Cooper, “Interprocedural Data Flow Analysis in a Programming Environment,” Ph.D. Dissertation, Department of Mathematical Sciences, Rice University, May 1983.Google Scholar
  13. [Coop 85]
    K.D. Cooper, “Analyzing aliases of reference formal parameters” Conf. Record, 12th POPL, January, 1985.Google Scholar
  14. [CoKe 84]
    K.D. Cooper and K. Kennedy, “Efficient Computation of Flow Insensitive Interprocedural Summary Information,” Proc. SIGPLAN '84 Symposium on Compiler Construction, SIGPLAN Notices 19(6), June 1984.Google Scholar
  15. [CoKT 86a]
    K.D. Cooper, K. Kennedy, and L. Torczon, “Optimization of compiled code in the ℝn programming environment”, Proc. of the 19th Annual Hawaii International Conference on System Sciences, 1986.Google Scholar
  16. [CoKT 86b]
    K.D. Cooper, K. Kennedy, and L. Torczon, “Interprocedural Optimization: Eliminating Unnecessary Recompilation”, Proc. SIGPLAN '86 Symposium on Compiler Construction, SIGPLAN Notices, 21(7), July 1986.Google Scholar
  17. [CoKT 86c]
    K.D. Cooper, K. Kennedy, and L. Torczon, “The impact of interprocedural analysis and optimization in the ℝn programming environment”, ACM TOPLAS 8(4), October, 1986.Google Scholar
  18. [CKTW 86]
    K.D. Cooper, K. Kennedy, L. Torczon, A. Weingarten, and M. Wolcott, “Editing and compiling whole programs”, Proc. of the Second SIGPLAN/SIGSOFT Symposium on Practical Software Development Environments, SIGPLAN Notices 22(1), January, 1987.Google Scholar
  19. [Cytr 86]
    R. Cytron, “On the implications of parallel languages for compilers”, Technical Report RC 11723, IBM T.J. Watson Research Center, Yorktown Heights, N.Y., 1986.Google Scholar
  20. [DKLM 84]
    V. Donzeau-Gouge, G. Kahn, B. Lang, and B. Melese, “Document structure and modularity in Mentor”, Proc. SIGSOFT/SIGPLAN Symposium on Practical Software Development Environments, 1984, 141–148.Google Scholar
  21. [GeHo 83]
    W.M. Gentleman and H. Hoeksma, “Hardware assisted high level debugging”, Proc. SIGSOFT/SIGPLAN Symposium on High Level Debugging, SIGPLAN Notices 18(8), August, 1983.Google Scholar
  22. [HoKe 85]
    R.T. Hood and K. Kennedy, “A Programming Environment for FORTRAN”, Proc. of the 18th Annual Hawaii International Conference on System Sciences, 1985.Google Scholar
  23. [KKLP 81]
    D.J. Kuck, R.H. Kuhn, B. Leasure, D.A. Padua, and M. Wolfe, “Compiler transformation of dependence graphs,” Conf. Record, 8th POPL, January, 1981.Google Scholar
  24. [KKLW 80]
    D.J. Kuck, R.H. Kuhn, B. Leasure, and M. Wolfe, “The structure of an advanced vectorizer for pipelined processors,” Proc. IEEE Computer Society Fourth International Computer Software and Applications Conf., IEEE, October 1980.Google Scholar
  25. [KayG 77]
    A. Kay and A. Goldberg, “Personal dynamic media”, IEEE Computer, 10(3), 1977.Google Scholar
  26. [Kenn 80]
    K. Kennedy, “Automatic translation of FORTRAN programs to vector form,” Rice Technical Report 476-029-4, Rice University, October 1980.Google Scholar
  27. [Knut 84]
    D.E. Knuth, “Literate programming”, Computer Journal, 10(3), 1977, 31–41.Google Scholar
  28. [Kuck 78]
    D.J. Kuck, The Structure of Computers and Computations, Vol. 1, Wiley, New York, NY, 1978.Google Scholar
  29. [MorH 85]
    M. Moriconi and D.F. Hare, “PegaSys: a system for graphical explanation of program designs”, Proc. SIGPLAN '85 Symposium on Language Issues in Programming Environments, June 1985, 148–160.Google Scholar
  30. [Nels 74]
    T.H. Nelson, Dream Machines. Published by the author, 1974.Google Scholar
  31. [Raed 85]
    G. Raeder, “A survey of current graphical programming techniques”, IEEE Computer, 18(8), 1985, 11–25.Google Scholar
  32. [Reis 84]
    S.P. Reiss, “PECAN: program development systems that support multiple views”, Proc. Seventh Int'l Conf. Software Engineering, March 1984, 324–333.Google Scholar
  33. [Reps 82]
    T. Reps, “Optimal-time incremental semantic analysis for syntax-directed editors” Conf. Record, 9th POPL, January, 1982.Google Scholar
  34. [Ryde 83]
    B.G. Ryder, “Incremental Data Flow Analysis”, Conf. Record, 10th POPL, January, 1983.Google Scholar
  35. [ScKo 86]
    R.G. Scarborough and H.G. Kolsky, “A vectorizing FORTRAN compiler,” IBM J. Research and Development 30(2), March, 1986.Google Scholar
  36. [Torc 85]
    L. Torczon, “Compilation dependences in an ambitious optimizing compiler,” Ph.D. Dissertation, Department of Computer Science, Rice University, Houston, Texas, May, 1985.Google Scholar
  37. [TrIF 86]
    R. Triolet, F. Irigoin, and P. Feautrier, “Direct parallelization of call statements”, Proc. SIGPLAN '86 Symposium on Compiler Construction, SIGPLAN Notices 21(7), July, 1986.Google Scholar
  38. [WeyB 85]
    S. Weyer and A. Borning, “A prototype electronic encyclopedia”, ACM Trans. Office Information Systems, 3(1), 1985, 63–88.Google Scholar
  39. [YMvD 85]
    N. Yankelovich, N. Meyrowitz, and A. van Dam, “Reading and writing the electronic book”, IEEE Computer, 18(10), 1985, 15–29.Google Scholar
  40. [Zade 84]
    F.K. Zadeck, “Incremental data flow analysis in a structured program editor”, Proc. SIGPLAN '84 Symposium on Compiler Construction, SIGPLAN Notices 19(6), June, 1984.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • David Callahan
    • 1
  • Keith D. Cooper
    • 1
  • Robert T. Hood
    • 1
  • Ken Kennedy
    • 1
  • Linda M. Torczon
    • 1
  • Scott K. Warren
    • 1
  1. 1.Department of Computer ScienceRice UniversityHouston

Personalised recommendations