Interactive Parallel Programming using the ParaScope Editor

The ParaScope Editor, an intelligent interactive editor for parallel Fortran programs, which is the centerpiece of the ParaScope project, an integrated collection of tools to help scientific programmers implement correct and efficient parallel programs, is discussed. ParaScope Editor reveals to users potential hazards of a proposed parallelization in a program. It provides a variety of powerful interactive program transformations that have been shown useful in converting programs to parallel form. ParaScope Editor supports general user editing through a hybrid text and structure editing facility that incrementally analyzes the modified program for potential hazards. It is shown that ParaScope Editor supports an exploratory programming style in which users get immediate feedback on their various strategies for parallelization. >

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

[2]  Ken Kennedy,et al.  Parallel program debugging with on-the-fly anomaly detection , 1990, Proceedings SUPERCOMPUTING '90.

[3]  Michael Gerndt,et al.  Advanced tools and techniques for automatic parallelization , 1988, Parallel Comput..

[4]  Ken Kennedy,et al.  Experience with interprocedural analysis of array side effects , 1990, Proceedings SUPERCOMPUTING '90.

[5]  Wilson C. Hsieh,et al.  A framework for determining useful parallelism , 1988, ICS '88.

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

[7]  Ken Kennedy,et al.  Analysis of event synchronization in a parallel programming tool , 1990, PPOPP '90.

[8]  Ken Kennedy,et al.  Improving register allocation for subscripted variables , 1990, PLDI '90.

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

[10]  KennedyKathryn,et al.  Analysis and Transformation in the ParaScope Editor , 1991 .

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

[12]  Ken Kennedy,et al.  Loop distribution with arbitrary control flow , 1990, Proceedings SUPERCOMPUTING '90.

[13]  Mark N. Wegman,et al.  An efficient method of computing static single assignment form , 1989, POPL '89.

[14]  Anita Osterhaug Guide to parallel programming on Sequent computer systems , 1989 .

[15]  Vivek Sarkar,et al.  Experiences using control dependence in PTRAN , 1990 .

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

[17]  Ken Kennedy,et al.  A static performance estimator to guide data partitioning decisions , 1991, PPOPP '91.

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

[19]  Ken Kennedy,et al.  A technique for summarizing data access and its use in parallelism enhancing transformations , 1989, PLDI '89.

[20]  Ken Kennedy,et al.  Computer support for machine-independent parallel programming in Fortran D , 1992 .

[21]  Ken Kennedy,et al.  An Interactive Environment for Data Partitioning and Distribution , 1990, Proceedings of the Fifth Distributed Memory Computing Conference, 1990..

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

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

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

[25]  Ken Kennedy,et al.  Parascope:a Parallel Programming Environment , 1988 .

[26]  R. E. Kurt Stirewalt,et al.  Incremental dependence analysis for interactive parallelization , 1990, ICS '90.

[27]  Jack J. Dongarra,et al.  Vectorizing compilers: a test suite and results , 1988, Proceedings. SUPERCOMPUTING '88.

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

[29]  Mark N. Wegman,et al.  Constant propagation with conditional branches , 1985, POPL.

[30]  Michael Wolfe,et al.  More iteration space tiling , 1989, Proceedings of the 1989 ACM/IEEE Conference on Supercomputing (Supercomputing '89).

[31]  Jaspal Subhlok,et al.  Analysis of synchronization in a parallel programming environment , 1992 .

[32]  KennedyKen,et al.  The impact of interprocedural analysis and optimization in the Rn programming environment , 1986 .

[33]  Ken Kennedy,et al.  Practical dependence testing , 1991, PLDI '91.

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

[35]  Ken Kennedy,et al.  Estimating Interlock and Improving Balance for Pipelined Architectures , 1988, J. Parallel Distributed Comput..

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

[37]  John Randal Allen,et al.  Dependence analysis for subscripted variables and its application to program transformations , 1983 .

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

[39]  John M. Levesque,et al.  A guidebook to Fortran on supercomputers , 1989 .

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

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

[42]  Ken Kennedy,et al.  Blocking Linear Algebra Codes for Memory Hierarchies , 1989, PPSC.

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