Skip to main content
Log in

Compiler technology for machine-indepenent parallel programming

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

Historically, the principal achievement of compiler technology has been to make it possible to program in a high-level, machine-independent style. The absence of compiler technology to provide such a style for parallel computers is the main reason these systems have not found widespread acceptance. This paper examines the prospects for machine-independent parallel programming, concentrating on Fortran D and High Performance Fortran, which support machine-independent expression of “data parallelism.”

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. J. Backus, The history of Fortran I, II and III,ACM SIGPLAN Notices 13(8):165–180 (August 1978).

    Article  MathSciNet  Google Scholar 

  2. D. J. Kuck, R. H. Kuhn, B. Leasure, and M. Wolfe, The structure of an advanced vectorizer for pipelined processors,Proceedings of COMPSAC 80, The 4th International Computer Software and Applications Conference, pp. 709–715 (Chicago, Illinois, October 1980).

  3. J. R. Allen and K. Kennedy, Automatic translation of Fortran programs to vector form,ACM Trans. on Programming Languages and Systems 9(4):491–542 (October 1987).

    Article  MATH  Google Scholar 

  4. K. Kennedy, K. S. McKinley, and C. Tseng, Analysis and transformation in the ParaScope Editor,Proceedings of the 1991 ACM International Conference on Supercomputing (Cologne, Germany, June 1991).

  5. D. J. Kuck, R. H. Kuhn, D. A. Padua, B. Leasure, and M. Wolfe, Dependence graphs and compiler optimizations,Conference Record of the Eighth Annual ACM Symposium on the Principals of Programming Languages, pp. 207–218 (Williamsburg, Virginia, January 1981).

  6. M. J. Wolfe,Optimizing Supercompilers for Supercomputers (MIT Press, Cambridge, Mass. 1989).

    MATH  Google Scholar 

  7. H. Zima and B. Chapman,Supercompilers for Parallel and Vector Computers, (ACM Press, New York, NY, 1991).

    Google Scholar 

  8. C.-W. Tseng,An Optimizing Fortran D Compiler for MIMD Distributed-Memory Machines (Ph.D. Dissertation, Rice University, January 1993).

  9. J. R. Allen, D. Callahan, and K. Kennedy, Automatic decomposition of scientific programs for parallel excution,Proceedings of the 14th Annual ACM Symposium on Principles of Programming Languages, pp. 63–76 (Munich, Germany, January, 1987).

  10. G. Fox, M. Johnson, G. Lyzenga, S. Otto, J. Salmon, and D. Walker,Solving Problems on Concurrent Processors, Vol. 1 (Prentice-Hall, Englewood Cliffs, NJ, 1988).

    Google Scholar 

  11. Parallel Computing Forum, PCF: parallel Fortran extension,Fortran Forum 10(3) (September 1991).

  12. D. Callahan and K. Kennedy, Compiling programs for distributed-memory multiprocessors,Journal of Supercomputing 2:151–169 (October 1988).

    Article  Google Scholar 

  13. C. Koelbel and P. Mehrotra, Compiling global name-space parallel loops for distributed execution,IEEE Trans. on Parallel and Distributed Systems 2 (4) (October 1991).

  14. A. Rogers and K. Pingali, Process decomposition through locality of reference,Proceedings of the SIGPLAN 89 Conference on Programming Language Design and Implementation (Portland, Oregon, June 1989).

  15. M. Rosing, R. Schnabel, and R. Weaver, Expressing complex parallel algorithms in DINO,Proceedings of the 4th Conference on Hypercube Concurrent Computers and Applications (Monterey, California, March 1989).

  16. H. Zima, H.-J. Bast, and M. Gerndt, SUPERB: a tool for semi-automatic MIMD/SIMD parallelization.

  17. S. Hiranandani, K. Kennedy, and C. Tseng, Evaluation of compiler optimizations for Fortran D on MIMD distributed-memory machines,Proceedings of the ACM 1992 International Conference on Supercomputing, pp. 1–14 (Washington, DC, July 1992).

  18. S. Hiranandani, K. Kennedy, and C. Tseng, Compiling Fortran D for MIMD distributedmemory machines,Communications of the ACM 35(8):66–80 (August 1992).

    Article  Google Scholar 

  19. G. Fox, S. Hiranandani, K. Kennedy, C. Koelbel, U. Kremer, C. Tseng, and M. Wu, Fortran D language specification, Technical Report TR90-141 (Dept. of Computer Science, Rice University, December, 1990).

  20. R. Mirchandaney, J. Saltz, R. Smith, D. Nicol, and K. Crowley, Principles of runtime support for parallel processors,Proceedings of the Second International Conference on Supercomputing (St. Malo, France, July 1988).

  21. J. Wu, J. Saltz, S. Hiranandani, and H. Berryman, Runtime compilation methods for multicomputers,Proceeedings of the 1991 International Conference on Parallel Processing (St. Charles, Illinois, August 1991).

  22. N. Carriero and D. Gelernter, Linda in context,Comm. ACM (April 1989).

  23. A. Beguelin, J. Dongarra, G. A. Geist, R. Manchek, and V. S. Sunderam, Graphical development tools for network-based concurrent supercomputing,Proceedings of Supercomputing 91, pp. 435–444 (Albuquerque, New Mexico, November 1991).

  24. A. Beguelin, J. Dongarra, A. Geist, R. Manchek, and V. Sunderam. Opening the door to heterogenous network supercomputing,Supercomputing Review 4(9):44–45 (1991).

    Google Scholar 

  25. J. C. Browne, Software engineering of parallel programs in a computationally oriented display environment. In D. Gelernter, A. Nicolau, and D. Padua, (eds.),Languages and Compilers for Parallel Computing, pp. 75–94 (MIT Press, Cambridge Mass., 1990).

    Google Scholar 

  26. K. M. Chandy and C. Kesselman, C++: A Declarative Concurrent Object Oriented Programming Language. Technical Report CS-TR-92-01 (California Institute of Technology, Pasadena, California).

  27. I. Foster and K. M. Chandy, Fortran M: a language for modular parallel programming, Preprint MCS-P327-0992 (Argonne National Lab, 1992).

  28. F. E. Allen, M. Burke, R. Cytron, J. Ferrante, V. Sarkar, and W. Hseih. A framework for determining useful parallelism,Proceedings of the Second International Conference on Supercomputing, St. Malo, France (July 1988).

  29. F. E. Allen, M. Burke, P. Charles and R. Cytron, An overview of the PTRAN analysis system for multiprocessing,Parallel and Distributed Computing 5:617–640.

  30. M. Girkar and C. D. Polychronopoulos, Automatic extraction of functional parallelism from ordinary programs,IEEE Trans. on Parallel and Distributed Systems 3(2):166–178 (March 1992).

    Article  Google Scholar 

  31. C. D. Polychronopoulos, Toward auto-scheduling compilers,Journal of Supercomputing 2:297–330 (1988).

    Article  Google Scholar 

  32. C. D. Polychronopoulos, The heirarchical task graph and its use in auto-scheduling,Proceedings of the 1991 ACM International Conference on Supercomputing, pp. 252–264 (Cologne, Germany, June 1991).

  33. C. D. Polychronopoulos, M. B. Girkar, M. R. Haghighat, C. L. Lee, Bruce P. Leung, and D. A. Schouten, The structure of Parafrase-2: an advanced parallelizing compiler for C and Fortran. In D. Gelernter, A. Nicolau, and D. Padua (eds.),Languages and Compilers for Parallel Computing, pp. 114–125 (MIT Press, Cambridge Mass., 1990).

    Google Scholar 

  34. N. Carriero and D. Gelernter, Tuple analysis and partial evaluation strategies in the Linda precompiler. In D. Gelernter, A. Nicolau, and D. Padua (eds.),Languages and Compilers for Parallel Computing, pp. 114–125 (MIT Press, Cambridge Mass., 1990).

    Google Scholar 

  35. K. Sridharan, M. McShea, C. Denton, B. Eventoff, J. C. Browne, P. Newton, M. Ellis, D. Grossbard, T. Wise, and D. Clemmer, An environment for parallel structuring for Fortran programs,Proc. 1989 International Conference on Parallel Processing, Volume II: Software, pp. 98–106 (Chicago, Illinois, August 1989).

  36. J. K. Lee and D. Gannon, Object oriented parallel programming: experiments and results,Proceedings of Supercomputing 91, pp. 273–282 (Albuquerque, New Mexico, November 1991).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kennedy, K. Compiler technology for machine-indepenent parallel programming. Int J Parallel Prog 22, 79–98 (1994). https://doi.org/10.1007/BF02577793

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02577793

Key words

Navigation