ZPL: An Array Sublanguage

The notion of isolating the “common case” is a well known computer science principle. This paper describes ZPL, a language that treats data parallelism as a common case of MIMD parallelism. This separation of concerns has many benefits. It allows us to define a clean and concise language for describing data parallel computations, and this in turn leads to efficient parallel execution. Our particular language also provides mechanisms for handling boundary conditions. We introduce the concepts, constructs and semantics of our new language, and give a simple example that contrasts ZPL with other data parallel languages.

[1]  Philip J. Hatcher,et al.  Architecture-independent scientific programming in data parallel C: three case studies , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[2]  William G. Griswold,et al.  Scalable Abstractions for Parallel Programming , 1990, Proceedings of the Fifth Distributed Memory Computing Conference, 1990..

[3]  William G. Griswold,et al.  A flexible communication abstraction for nonshared memory parallel computing , 1990, Proceedings SUPERCOMPUTING '90.

[4]  Constantine D. Polychronopoulos,et al.  The structure of parafrase-2: an advanced parallelizing compiler for C and FORTRAN , 1990 .

[5]  Lawrence Snyder The XYZ abstraction levels of Poker-like languages , 1990 .

[6]  Robert P. Weaver,et al.  The DINO Parallel Programming Language , 1991, J. Parallel Distributed Comput..

[7]  David Socha Supporting fine-grain computation on distributed memory parallel computers , 1991 .

[8]  Guy E. Blelloch,et al.  Vector Models for Data-Parallel Computing , 1990 .

[9]  Lawrence Snyder Invited Lecture: Foundations of Practical Parallel Programming Languages , 1993, ACPC.

[10]  Guy E. Blelloch,et al.  NESL: A Nested Data-Parallel Language , 1992 .

[11]  Milind Girkar,et al.  Parafrase-2: an Environment for Parallelizing, Partitioning, Synchronizing, and Scheduling Programs on Multiprocessors , 1989, Int. J. High Speed Comput..

[12]  Jerrold L. Wagener,et al.  Fortran 90 Handbook: Complete Ansi/Iso Reference , 1992 .

[13]  Jorge L. C. Sanz,et al.  Algorithms for Image Component Labeling on SIMD Mesh-Connected Computers , 1987, IEEE Trans. Computers.

[14]  Lawrence Snyder,et al.  Data Ensemles in Orca C , 1992, LCPC.