Jump to content

Z-level programming language: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
Line 1: Line 1:
{{Infobox programming language
{{Infobox programming language
| name = ZPL
| name = ZPL
| paradigm = [[Array programming|Array]]
| paradigm = [[Array programming|Array]]
| released = {{Start date|1993}}
| released = {{Start date|1993}}
| developer = Chamberlain ''et al.'' at [[University of Washington]]
| developer = Chamberlain ''et al.'' at [[University of Washington]]
| influenced by = [[C (programming language)|C]]
| influenced by = [[C (programming language)|C]]
| influenced = [[Chapel (programming language)|Chapel]]<ref name="chplspec">{{cite web|title=Chapel spec (Acknowledgements)|url=http://chapel.cray.com/spec/spec-0.98.pdf|date=2015-10-01|access-date=2016-01-14|publisher=Cray Inc}}</ref>
| influenced = [[Chapel (programming language)|Chapel]]<ref name="chplspec">{{cite web|title=Chapel spec (Acknowledgements)|url=http://chapel.cray.com/spec/spec-0.98.pdf|date=2015-10-01|access-date=2016-01-14|publisher=Cray Inc}}</ref>
| license = <nowiki>MIT License</nowiki>
| website = [https://web.archive.org/web/20060211013421/http://www.cs.washington.edu/research/zpl/home/ www.cs.washington.edu]
| website = [https://web.archive.org/web/20060211013421/http://www.cs.washington.edu/research/zpl/home/ www.cs.washington.edu]
[https://research.cs.washington.edu/zpl/home/index.html]
}}
}}
'''ZPL''' (short for ''Z-level Programming Language'') is an [[array programming language]] designed to replace C and C++ programming languages in engineering and scientific applications.<ref>{{cite web|url=http://www.cs.washington.edu/research/zpl/overview/overview.html|access-date=17 December 2012|title=ZPL Home Page|url-status=dead|archive-url=https://web.archive.org/web/20130115204553/http://www.cs.washington.edu/research/zpl/overview/overview.html|archive-date=15 January 2013}}</ref> Because its design goal was to obtain [[cross-platform]] high performance, ZPL programs run fast on both [[sequence|sequential]] and [[parallel computer]]s. Highly-parallel ZPL programs are simple and easy to write because it exclusively uses [[implicit parallelism]].
'''ZPL''' (short for ''Z-level Programming Language'') is an [[array programming language]] designed to replace C and C++ programming languages in engineering and scientific applications.<ref>{{cite web|url=http://www.cs.washington.edu/research/zpl/overview/overview.html|access-date=17 December 2012|title=ZPL Home Page|url-status=dead|archive-url=https://web.archive.org/web/20130115204553/http://www.cs.washington.edu/research/zpl/overview/overview.html|archive-date=15 January 2013}}</ref> Because its design goal was to obtain [[cross-platform]] high performance, ZPL programs run fast on both [[sequence|sequential]] and [[parallel computer]]s. Highly-parallel ZPL programs are simple and easy to write because it exclusively uses [[implicit parallelism]].

Revision as of 01:30, 23 January 2023

ZPL
ParadigmArray
DeveloperChamberlain et al. at University of Washington
First appeared1993 (1993)
LicenseMIT License
Websitewww.cs.washington.edu [1]
Influenced by
C
Influenced
Chapel[1]

ZPL (short for Z-level Programming Language) is an array programming language designed to replace C and C++ programming languages in engineering and scientific applications.[2] Because its design goal was to obtain cross-platform high performance, ZPL programs run fast on both sequential and parallel computers. Highly-parallel ZPL programs are simple and easy to write because it exclusively uses implicit parallelism.

Originally called Orca C, ZPL was designed and implemented during 1993–1995 by the Orca Project of the Computer Science and Engineering Department at the University of Washington.

Details

ZPL uses the array abstraction to implement a data parallel programming model. This is the reason why ZPL achieves such good performance: having no parallel directives or other forms of explicit parallelism, ZPL exploits the operational trait that when aggregate computations are described in terms of arrays, many scalar operations must be (implicitly) performed to implement the array operations. This implied computation can be automatically allotted to different processors to achieve concurrency: Parallelism arises from the semantics of the array operations.

ZPL is translated into a conventional abstract syntax tree representation on which program analysis and program optimizations are performed. ANSI C code is generated as the object code. This C program (which is machine independent because it implements certain operations in abstract form) is then compiled using the native C compiler on the target machine with custom libraries optimized to the specific platform.

The creators of ZPL were: Brad Chamberlain, Sung-Eun Choi, E Christopher Lewis, Calvin Lin, Jason Secosky, Larry Snyder, and W. Derrick Weathersby with assistance from Ruth Anderson, A.J. Bernheim, Marios Dikaiakos, George Forman, and Kurt Partridge.

ZPL's status as an active project is in question; the latest "What's new" item on the front page of the official website is dated 9 January 2005.

See also

References

  1. ^ "Chapel spec (Acknowledgements)" (PDF). Cray Inc. 2015-10-01. Retrieved 2016-01-14.
  2. ^ "ZPL Home Page". Archived from the original on 15 January 2013. Retrieved 17 December 2012.