Programming Language Support for Supercomputers
Hood, Robert T.
To date, programming language research has made several major contributions to the support of high speed computing. First, highly optimizing compilers have permitted the programmer to write in a high level language without sacrificing much of the efficiency that could be gained by programming in assembly language for the particular target machine. Beginning with the remarkable Fortran I system, the quality of a Fortran compiler has been measured in terms of its ability to produce excellent code for its target machine. This has led to compilers that analyze a program globally and produce surprisingly accurate knowledge about the expected behavior of the program at run time. Second, new features have been introduced into high level languages to facilitate the coding of scientific problem solutions while exploiting the special features of the underlying hardware. Examples are the array notations in APL and Fortran 8x. Third, specialized analysis techniques to precisely determine the dependences inherent in a program have led to vectorizing translators that discover most of the vector operations inherent in a sequential program. This paper surveys these contributions and discusses the challenge presented by parallel processor supercomputers and the emergence of program analysis tools based on a new paradigm - the interactive programming environment. It concludes that techniques from program flow analysis and optimization can be adapted for use in an interactive problem-solving environment that provides a powerful collection of tools by which to exploit the capabilities of a supercomputer.
Citable link to this pagehttps://hdl.handle.net/1911/101564
MetadataShow full item record
- CAAM Technical Reports