Content deleted Content added
m robot Adding: es:ZPL (lenguaje de programación) |
Undid revision 1283407490 by 210.3.116.30 (talk) (Vandalism) |
||
(30 intermediate revisions by 24 users not shown) | |||
Line 1:
{{about-distinguish-text|the parallel programming language|the [[Zebra Programming Language]] typically used with printers}}
'''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. Because its design goal was to obtain machine-independent high performance, ZPL programs run fast on both [[sequential computer|sequential]] and [[parallel computer]]s. Highly-parallel ZPL programs are simple and easy to write because it exclusively uses [[implicit parallelism]].▼
{{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]
}}
▲'
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.▼
▲Originally called '''Orca C''', ZPL was designed and implemented during
This is the reason why ZPL achieves such good performance: having no [[parallel directives]] or other forms of explicit parallelism, ZPL exploits the fact 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 parceled out to different processors to achieve concurrency: Parallelism arises from the semantics of the array operations.▼
==Details==
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.▼
▲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
▲ZPL is translated into a conventional [[abstract syntax tree]] representation on which [[program analysis]] and [[
The creators of ZPL are: 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.▼
▲The creators of ZPL
==See also==
* [[Array programming]]
* [[J (programming language)|J]]
* [[K (programming language)|K]] * [[Partitioned global address space]]
== References ==
{{Reflist}}
==External links==
*
[[Category:Array programming languages]]▼
{{Authority control}}
▲[[Category:Parallel computing]]
▲[[Category:Array programming languages]]
[[Category:Concurrent programming languages]]
[[Category:Programming languages created in 1993]]
|