Encyclopedia of Parallel Computing

2011 Edition
| Editors: David Padua

ZPL

  • Bradford Chamberlain
Reference work entry
DOI: https://doi.org/10.1007/978-0-387-09766-4_510

Synonyms

Definition

ZPL is a parallel programming language that was developed at the University of Washington between 1992 and 2005. ZPL was a contemporary of High Performance Fortran (HPF), targeting a similar class of applications by supporting data parallel computations via operations on global-view arrays distributed between a set of distinct processor memories. ZPL distinguished itself from HPF by providing a less ambiguous execution model, support for first-class index sets, and a syntactic performance model that supported the ability to trivially identify and reason about communication.

Discussion

Foundations

ZPL was initially developed by Lawrence Snyder and Calvin Lin at the University of Washington who strove to design a parallel programming language from first principles. To this end, the ZPL effort began by identifying abstract machine and programming models that would serve as the parallel equivalents of the von Neumann machine model and the...

This is a preview of subscription content, log in to check access.

Bibliography

  1. 1.
    Chamberlain BL (2001) The design and implementation of a region-based parallel language. Ph.D. thesis, University of Washington, Nov 2001. http://www.cs.washington.edu/homes/brad/cv/pubs/degree/thesis.html
  2. 2.
    Chamberlain BL, Choi S-E, Deitz SJ, Snyder L (2004) The high-level parallel language ZPL improves productivity and performance. In: Proceedings of the IEEE internationals workshop on productivity and performance in high-end computing, Madrid, 2004Google Scholar
  3. 3.
    Chamberlain BL, Choi S-E, Lewis EC, Lin C, Snyder L, Weathersby WD (1998) ZPL’s WYSIWYG performance model. In: Proceedings of the IEEE workshop on high-level parallel programming models and supportive environments, Orlando, 1998Google Scholar
  4. 4.
    Chamberlain BL, Choi S-E, Snyder L (1997) A compiler abstraction for machine independent parallel communication generation. In: Proceedings of the workshop on languages and compilers for parallel computing, Minneapolis, 1997Google Scholar
  5. 5.
    Chamberlain BL, Deitz SJ, Snyder L (2000) A comparative study of the NAS MG benchmark across parallel languages and architectures. In: Proceedings of the ACM international conference on supercomputing, Santa Fe, 2000Google Scholar
  6. 6.
    Chamberlain BL, Lewis EC, Snyder L (1999) Array language support for wavefront and pipelined computations. In: Proceedings of the workshop on languages and compilers for parallel computing, La Jolla, 1999Google Scholar
  7. 7.
    Chamberlain BL, Snyder L (2001) Array language support for parallel sparse computation. In: Proceedings of the ACM international conference on supercomputing, Sorrento, 2001Google Scholar
  8. 8.
    Choi S-E, Snyder L (1997) Quantifying the effects of communication optimizations. In: Proceedings of the IEEE international conference on parallel processing, Bloomington, 1997Google Scholar
  9. 9.
    Deitz SJ (2005) High-level programming language abstractions for advanced and dynamic parallel computations. Ph.D thesis, University of Washington, Feb 2005. http://www.cs.washington.edu/projects/zpl/papers/data/Deitz05Thesis.pdf
  10. 10.
    Deitz SJ, Chamberlain BL, Choi S-E, Snyder L (2003) The design and implementation of a parallel array operator for the arbitrary remapping of data. In: Proceedings of the ACM conference on principles and practice of parallel programming, San Diego, 2003Google Scholar
  11. 11.
    Deitz SJ, Chamberlain BL, Snyder L (2001) Eliminating redundancies in sum-of-product array computations. In: Proceedings of the ACM international conference on supercomputing, Sorrento, 2001Google Scholar
  12. 12.
    Lin C (1992) The portability of parallel programs across MIMD computers. Ph.D. thesis, University of Washington, Department of Computer Science and EngineeringGoogle Scholar
  13. 13.
    Snyder L (1995) Experimental validation of models of parallel computation. In: Hofmann A, van Leeuwen J (eds), Computer science today. Lecture notes in computer science, vol 1000. Springer, Berlin, pp 78–100CrossRefGoogle Scholar
  14. 14.
    Snyder L (1999) Programming guide to ZPL. MIT, CambridgeGoogle Scholar
  15. 15.
    Snyder L (2007) The design and development of ZPL. In: HOPL III: Proceedings of the third ACM SIGPLAN conference on history of programming languages, San Diego. ACM, New York, pp 8-1–8-37Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  • Bradford Chamberlain
    • 1
  1. 1.Cray Inc.SeattleUSA