Abstract
This paper discusses the software challenges that must be met if we are to effectively use the massively parallel supercomputers of the future. Focusing on Fortran, the discussion includes an assessment of the prospects for fully automatic parallelization of conventional programs and presents the principal features needed in software environments for parallel programming.
References
Abu-Sufah, W. 1979. Improving the performance of virtual memory computers. Ph.D. thesis, Dept. of Comp. Sci., Univ. of Ill. at Urbana-Champaign, Urbana, Ill.
Allen, J.R., and Kennedy, K. 1987. Automatic translation of Fortran programs to vector form. ACM Trans. Programming Languages and Systems, 9, 4 (Oct.), 491–542.
Allen, J.R., Callahan, D., and Kennedy, K. 1987. Automatic decomposition of scientific programs for parallel execution. In Conf. Record of the Fourteenth ACM Symp. on the Principles of Programming Languages (Munich, Jan.), pp. 63–76.
Allen, J.R., Bäumgartner, D., Kennedy, K., and Porterfield, A. 1986. PTOOL: A semi-automatic parallel programming assistant. In Proc., 1986 Internat. Conf. on Parallel Processing (St. Charles, Ill., Aug.), IEEE Comp. Soc. Press, pp. 164–170.
Babb, R.G. 1984. Parallel processing with large grain data flow techniques. IEEE Comp., 17, 7 (July), 55–61.
Balasundaram, V., Kennedy, K., Kremer, U., McKinley, K.S., and Subhlok, J. 1989. The ParaScope Editor: An interactive parallel programming tool. In Proc. Supercomputing '89 (Reno, Nev., Nov. 15–17), pp. 540–550.
Bernstein, A.J. 1966. Analysis of programs for parallel processing. IEEE Trans. Comps., 15, 5 (Oct.), 757–763.
Browne, J.C. 1986. Framework for formulation and analysis of parallel programs. Parallel Computing, 3:1–9.
Callahan, D., and Kennedy, K. 1987. Analysis of interprocedural side effects in a parallel programming environment. In Proc., First Internat. Conf. on Supercomputing (Athens), Berlin/New York, Springer-Verlag.
Callahan, D., and Kennedy, K. 1988. Compiling programs for distributed-memory machines. The J. Supercomputing, 2, 2 (Oct.), 151–169.
Callahan, D., Carr, S., and Kennedy, K. 1990. Improving register allocation for subscripted variables. In Proc., ACM SIGPLAN 90 Conf. on Program Language Design and Implementation (White Plains, NY., June), pp. 53–65.
Carle, A., Cooper, K.D., Hood, R.T., Kennedy, K., Torczon, L., and Warren, S.K. 1987. A practical environment for scientific programming. Computer, 20, 11 (Nov.), 75–89.
Carr, S., and Kennedy, K. 1989. Blocking linear algebra codes for memory hierarchies. In Proc., Fourth SIAM Conf. on Parallel Processing for Scientific Computing (Chicago, Dec.).
Dongarra, J.J., and Sorensen, D.C. 1986. SCHEDULE: Tools for developing and analyzing parallel Fortran programs. Tech. Mem. 86, Math. and Comp. Sci. Div., Argonne Nat. Laboratory (Nov.).
Dongarra, J.J., Brewer, O., Fineberg, S., and Kohl, J.A. 1990. A tool to aid in the design, implementation and understanding of matrix algorithms for parallel processors. J. Parallel and Distributed Computing, 9:185–202.
Guarna, V.A., Jr., Gannon, D., Gaur, Y., and Jablonowski, D. 1988. Faust: An environment for programming parallel scientific applications. In Proc., Supercomputing '88 (Orlando, Fla., Nov. 14–18), pp. 3–10.
Kuck, D., Kuhn, R., Leasure, B., and Wolfe, M. 1980. The structure of an advanced retargetable vectorizer. In Proc. of COMPSAC 80, the 4th Internat. Comp. Software and Applications Conf. (Chicago, Oct.), pp. 709–715.
Kuck, D.J., Kuhn, R.H., Leasure, B., Padua, D.A., and Wolfe, M. 1981. Dependence graphs and compiler optimizations. In Conf. Record of the Eighth ACM Symp. on Principles of Programming Languages (Jan.), pp. 207–218.
Leasure, B., ed. 1988. PCF Fortran: Language Definition, Version 1. The Parallel Computing Forum, Champaign, Ill.
Office of Science and Technology Policy. 1991. Grand challenges: High performance computing and communications, the FY 1992 U.S. Research and Development Program. Rept. by the Committee on Physical, Mathematical, and Engineering Sciences, Washington, D.C.
Porterfield, A.K. 1989. Software methods for improvement of cache performance. Ph.D. thesis, Rice University, Houston, Tex.
Rogers, A., and Pingali, K. 1989. Process decomposition through locality of references. In Proc., ACM SIGPLAN 89 Conf. on Program Language Design and Implementation (June).
Smith, K., and Appelbe, W. 1988. PAT—An interactive Fortran parallelizing assistant tool: Use and documentation. Tech. rept., Dept. of Comp. Sci., Ga. Institute of Technology, Atlanta.
Zima, H., Bast, H.-J., and Gerndt, M. 1988. SUPERB: A tool for semi-automatic MIMD/SIMD parallelization. In Parallel Computing, vol. 6, Amsterdam, North-Holland, pp. 1–18.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Kennedy, K. Software for supercomputers of the future. J Supercomput 5, 251–262 (1992). https://doi.org/10.1007/BF00127948
Issue Date:
DOI: https://doi.org/10.1007/BF00127948