Parascope:a Parallel Programming Environment

The ParaScope programming environment, under de velopment at Rice University, has been designed to as sist in the formulation, implementation, and debugging of parallel Fortran programs. In its implementation, ParaScope merges the technologies of automatic paral lelism detection and integrated programming environ ments. This paper discusses the issues that underlie the design of ParaScope's editor, compiler, and debugger. The editor includes mechanisms for viewing and manip ulating the program's dependence structure. The compi lation system uses information from the various tools in the programming environment to optimize entire pro grams for specific parallel architectures. The debugging system includes facilities for remote debugging on par allel machines, using information from the editor and compiler to help isolate schedule-dependent errors.

[1]  Douglas C. Engelbart,et al.  A research center for augmenting human intellect , 1968, AFIPS Fall Joint Computing Conference.

[2]  N. S. Barnett,et al.  Private communication , 1969 .

[3]  David B. Loveman,et al.  Program Improvement by Source-to-Source Transformation , 1977, J. ACM.

[4]  David L. Kuck,et al.  The Structure of Computers and Computations , 1978 .

[5]  John Banning,et al.  : An Efficient , 2022 .

[6]  Eugene W. Myers,et al.  A precise inter-procedural data flow algorithm , 1981, POPL '81.

[7]  David A. Padua,et al.  Dependence graphs and compiler optimizations , 1981, POPL '81.

[8]  Richard C. Waters,et al.  Program editors should not abandon text oriented commands , 1982, SIGP.

[9]  Eric Harslem,et al.  Designing the STAR User Interface , 1987, ECICS.

[10]  Ken Kennedy,et al.  PFC: A Program to Convert Fortran to Parallel Form , 1982 .

[11]  W. Morven Gentleman,et al.  Hardware assisted high level debugging: preliminary draft , 1983, SIGSOFT '83.

[12]  James R. Cardell Multilingual debugging with the SWAT high-level debugger , 1983, ACM SIGPLAN Notices.

[13]  Barbara G. Ryder Incremental data flow analysis , 1983, POPL '83.

[14]  F. Kenneth Zadeck,et al.  Incremental data flow analysis in a structured program editor , 1984, SIGPLAN '84.

[15]  Ken Kennedy,et al.  A Parallel Programming Environment , 1985, IEEE Software.

[16]  Jack Dongarra,et al.  SCHEDULE: Tools for developing and analyzing parallel Fortran programs , 1986 .

[17]  Paul Feautrier,et al.  Direct parallelization of call statements , 1986, SIGPLAN '86.

[18]  Ken Kennedy,et al.  PTOOL : A Semi-Automatic Parallel Programming Assistant , 1986, International Conference on Parallel Processing.

[19]  Randolph G. Scarborough,et al.  A Vectorizing Fortran Compiler , 1986, IBM J. Res. Dev..

[20]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[21]  Ken Kennedy,et al.  The impact of interprocedural analysis and optimization in the Rn programming environment , 1986, TOPL.

[22]  An incremental algorithm for software analysis , 1986, SDE.

[23]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

[24]  Ken Kennedy,et al.  Analysis of interprocedural side effects in a parallel programming environment , 1988, J. Parallel Distributed Comput..

[25]  Barbara G. Ryder,et al.  An incremental algorithm for software analysis , 1987, SDE 2.

[26]  Ken Kennedy,et al.  A Practical Environment for Scientific Programming , 1987, Computer.

[27]  Ken Kennedy,et al.  Automatic decomposition of scientific programs for parallel execution , 1987, POPL '87.

[28]  Ii C. D. Callahan A global approach to detection of parallelism , 1987 .

[29]  Ken Kennedy,et al.  Automatic translation of FORTRAN programs to vector form , 1987, TOPL.

[30]  Utpal Banerjee,et al.  Dependence analysis for supercomputing , 1988, The Kluwer international series in engineering and computer science.

[31]  Bowen Alpern,et al.  Detecting equality of variables in programs , 1988, POPL '88.

[32]  Jong-Deok Choi,et al.  A mechanism for efficient debugging of parallel programs , 1988, PADD '88.

[33]  Jaspal Subhlok,et al.  Static analysis of low-level synchronization , 1988, PADD '88.

[34]  Kevin Smith,et al.  PAT : An Interactive Fortran Parallelizing Assistant Tool , 1988, ICPP.

[35]  David Callahan,et al.  The program summary graph and flow-sensitive interprocedual data flow analysis , 1988, PLDI '88.

[36]  Philip J. Hatcher,et al.  Compiling C* programs for a hypercube multicomputer , 1988, PPoPP 1988.

[37]  D. Callahan,et al.  Analysis of interprocedural side effects in a parallel programming environment , 1988, J. Parallel Distributed Comput..

[38]  Carl Ponder,et al.  Are applicative languages inefficient? , 1988, SIGP.

[39]  Michael Gerndt,et al.  SUPERB: A tool for semi-automatic MIMD/SIMD parallelization , 1988, Parallel Comput..

[40]  Allen D. Malony,et al.  Faust: an integrated environment for parallel programming , 1989, IEEE Software.

[41]  Guy L. Steele,et al.  Making asynchronous parallelism safe for the world , 1989, POPL '90.

[42]  Edith Schonberg,et al.  On-the-fly detection of access anomalies , 2018, PLDI '89.