Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Z-level programming language
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{about-distinguish-text|the parallel programming language|the [[Zebra Programming Language]] typically used with printers}} {{Infobox programming language | name = ZPL | paradigm = [[Array programming|Array]] | released = {{Start date|1993}} | developer = Chamberlain ''et al.'' at [[University of Washington]] | 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|archive-date=2016-02-05|archive-url=https://web.archive.org/web/20160205114946/http://chapel.cray.com/spec/spec-0.98.pdf|url-status=dead}}</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] [https://research.cs.washington.edu/zpl/home/index.html] }} '''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]]. 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 parallelism|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 [[optimization (computer science)|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. ==See also== * [[Array programming]] * [[J (programming language)|J]] * [[K (programming language)|K]] * [[Partitioned global address space]] == References == {{Reflist}} ==External links== * {{Official website|http://www.cs.washington.edu/research/zpl/home/}}{{dead link|date=November 2017}} {{Parallel computing}} {{Authority control}} [[Category:Array programming languages]] [[Category:Concurrent programming languages]] [[Category:Programming languages created in 1993]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:About-distinguish-text
(
edit
)
Template:Authority control
(
edit
)
Template:Cite web
(
edit
)
Template:Dead link
(
edit
)
Template:Infobox programming language
(
edit
)
Template:Official website
(
edit
)
Template:Parallel computing
(
edit
)
Template:Reflist
(
edit
)