Z-level programming language: Difference between revisions

Content deleted Content added
No edit summary
Line 4:
 
ZPL uses the array abstraction to implement a dataparallel 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 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.: This is, parallelismParallelism arises from the semantics of the array operations.
 
ZPL is translated into a conventional [[abstract syntax tree]] representation on which [[Program analysis|program analysis]] and [[Program optimization|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.