Crystal: theory and pragmatics of generating efficient parallel code
Parallel functional languages and compilers
Parallel computing (2nd ed.): theory and practice
Parallel computing (2nd ed.): theory and practice
Powerlist: a structure for parallel recursion
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compiler transformations for high-performance computing
ACM Computing Surveys (CSUR)
Refinement of data parallel programs in PEI
Proceedings of the IFIP TC 2 WG 2.1 international workshop on Algorithmic languages and calculi
Efficient run-time support for irregular block-structured applications
Journal of Parallel and Distributed Computing - Special issue on irregular problems in supercomputing applications
Dependent types in practical programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A new parallel model for the analysis of asynchronous algorithms
Parallel Computing
Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering
Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering
Optimization Rules for Programming with Collective Operations
IPPS '99/SPDP '99 Proceedings of the 13th International Symposium on Parallel Processing and the 10th Symposium on Parallel and Distributed Processing
Skeletons for Data Parallelism in p3l
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
A Monadic Calculus for Parallel Costing of a Functional Language of Arrays
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
Data Distribution Algebras - A Formal Basis for Programming Using Skeletons
PROCOMET '94 Proceedings of the IFIP TC2/WG2.1/WG2.2/WG2.3 Working Conference on Programming Concepts, Methods and Calculi
Automatic Parallelization in the Polytope Model
The Data Parallel Programming Model: Foundations, HPF Realization, and Scientific Applications
NetSolve: A Network Server for Solving Computational Science Problems
NetSolve: A Network Server for Solving Computational Science Problems
BSP Functional Programming: Examples of a Cost Based Methodology
ICCS '08 Proceedings of the 8th international conference on Computational Science, Part I
A formal programming model of Orléans skeleton library
PaCT'11 Proceedings of the 11th international conference on Parallel computing technologies
Verification of a heat diffusion simulation written with orléans skeleton library
PPAM'11 Proceedings of the 9th international conference on Parallel Processing and Applied Mathematics - Volume Part II
A verified library of algorithmic skeletons on evenly distributed arrays
ICA3PP'12 Proceedings of the 12th international conference on Algorithms and Architectures for Parallel Processing - Volume Part I
Hi-index | 0.00 |
We present a calculus to formalize and give costs to parallel computations over multidimensional dense arrays. The calculus extends a simple distribution calculus (proposed in some previous work) with computation and data collection. We consider an SPMD programming model in which process interaction can take place using point-to-point as well as collective operations, much in the style of MPI. We want to give a rigorous description of all stages of data parallel applications working over dense arrays: initial distribution (i.e., partition and replication) of arrays over a set of processors, parallel computation over distributed data, exchange of intermediate results and final data gather. In the paper, beside defining the calculus, we give it a formal semantics, prove equations between different combinations of operations, and show how to associate a cost to operation combinations. This last feature makes possible to make quantitative cost-driven choices between semantically equivalent implementation strategies.