Type architectures, shared memory, and the corollary of modest potential
Annual review of computer science vol. 1, 1986
Solving problems on concurrent processors. Vol. 1: General techniques and regular problems
Solving problems on concurrent processors. Vol. 1: General techniques and regular problems
Algorithms for Image Component Labeling on SIMD Mesh-Connected Computers
IEEE Transactions on Computers
The craft of Prolog
Vector models for data-parallel computing
Vector models for data-parallel computing
Achieving speedups for APL on an SIMD distributed memory machine
International Journal of Parallel Programming
Supporting fine-grain computation on distributed memory parallel computers
Supporting fine-grain computation on distributed memory parallel computers
Programmer's guide to Fortran 90
Programmer's guide to Fortran 90
LogP: towards a realistic model of parallel computation
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
The portability of parallel programs across MIMD computers
The portability of parallel programs across MIMD computers
High performance Fortran language specification (part III)
ACM SIGPLAN Fortran Forum
Interconnection networks for high-performance parallel computers
Interconnection networks for high-performance parallel computers
Symbolic analysis for parallelizing compilers
ACM Transactions on Programming Languages and Systems (TOPLAS)
ICS '90 Proceedings of the 4th international conference on Supercomputing
The Case for Chaotic Adaptive Routing
IEEE Transactions on Computers
The implementation and evaluation of fusion and contraction in array languages
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
A programmer's guide to ZPL
Problem space promotion and its evaluation as a technique for efficient parallel computation
ICS '99 Proceedings of the 13th international conference on Supercomputing
A global communication optimization technique based on data-flow analysis and linear algebra
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM
A comparative study of the NAS MG benchmark across parallel languages and architectures
Proceedings of the 2000 ACM/IEEE conference on Supercomputing
Eliminating redundancies in sum-of-product array computations
ICS '01 Proceedings of the 15th international conference on Supercomputing
MPI: The Complete Reference
Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age
Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age
Practical Pram Programming
The Parallel Evolution of Parallel Processors
The Parallel Evolution of Parallel Processors
High-level Language Support for User-defined Reductions
The Journal of Supercomputing
Pipelining Wavefront Computations: Experiences and Performance
IPDPS '00 Proceedings of the 15 IPDPS 2000 Workshops on Parallel and Distributed Processing
Factor-Join: A Unique Approach to Compiling Array Languages for Parallel Machines
LCPC '96 Proceedings of the 9th International Workshop on Languages and Compilers for Parallel Computing
A Compiler Abstraction for Machine Independent Parallel Communication Generation
LCPC '97 Proceedings of the 10th International Workshop on Languages and Compilers for Parallel Computing
Programming SIMPLE for Parallel Portability
Proceedings of the Fourth International Workshop on Languages and Compilers for Parallel Computing
Proceedings of the 6th International Workshop on Languages and Compilers for Parallel Computing
SIMPLE Performance Results in ZPL
LCPC '94 Proceedings of the 7th International Workshop on Languages and Compilers for Parallel Computing
Writing a Multigrid Solver Using Co-array Fortran
PARA '98 Proceedings of the 4th International Workshop on Applied Parallel Computing, Large Scale Scientific and Industrial Problems
A Case Study: Effects of WITH-Loop-Folding on the NAS Benchmark MG in SAC
IFL '98 Selected Papers from the 10th International Workshop on 10th International Workshop
The design and implementation of a parallel array operator for the arbitrary remapping of data
Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming
ZPL's WYSIWYG Performance Model
HIPS '98 Proceedings of the High-Level Parallel Programming Models and Supportive Environments
An apl machine
Machine-independent communication optimization
Machine-independent communication optimization
Machine-independent compiler optimizations for collective communication
Machine-independent compiler optimizations for collective communication
Achieving robust performance in parallel programming languages
Achieving robust performance in parallel programming languages
The design and implementation of a region-based parallel programming language
The design and implementation of a region-based parallel programming language
High-level programming language abstractions for advanced and dynamic parallel computations
High-level programming language abstractions for advanced and dynamic parallel computations
X10: an object-oriented approach to non-uniform cluster computing
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A Type Architecture for Hybrid Micro-Parallel Computers
FCCM '06 Proceedings of the 14th Annual IEEE Symposium on Field-Programmable Custom Computing Machines
Languages and Compilers for Parallel Computing
Language Extensions in Support of Compiler Parallelization
Languages and Compilers for Parallel Computing
Unifying barrier and point-to-point synchronization in OpenMP with phasers
IWOMP'11 Proceedings of the 7th international conference on OpenMP in the Petascale era
Implementing a GPU programming model on a Non-GPU accelerator architecture
ISCA'10 Proceedings of the 2010 international conference on Computer Architecture
PQL: a purely-declarative java extension for parallel programming
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Hi-index | 0.00 |
ZPL is an implicitly parallel programming language, which means all instructions to implement and manage the parallelism are inserted by the compiler. It is the first implicitly parallel language to achieve performance portability, that is, consistent high performance across all (MIMD) parallel platforms. ZPL has been designed from first principles, and is founded on the CTA abstract parallel machine. A key enabler of ZPL's performance portability is its What You See Is What You Get (WYSIWYG) performance model. The paper describes the antecedent research on which ZPL was founded, the design principles used to build it incrementally, and the technical basis for its performance portability. Comparisons with other parallel programming approaches are included.