Algorithmic skeletons: structured management of parallel computation
Algorithmic skeletons: structured management of parallel computation
Parallel computing (2nd ed.): theory and practice
Parallel computing (2nd ed.): theory and practice
The design and evolution of C++
The design and evolution of C++
Foundations of parallel programming
Foundations of parallel programming
Efficient high-level parallel programming
Theoretical Computer Science - Special issue on parallel computing
Parallel Programming Using Skeleton Functions
PARLE '93 Proceedings of the 5th International PARLE Conference on Parallel Architectures and Languages Europe
Efficient Distributed Memory Implementation of a Data Parallel Functional Language
PARLE '94 Proceedings of the 6th International PARLE Conference on Parallel Architectures and Languages Europe
Functional Skeletons for Parallel Coordination
Euro-Par '95 Proceedings of the First International Euro-Par Conference on Parallel Processing
Skeletons for Data Parallelism in p3l
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
Efficient Parallel Programming with Algorithmic Skeletons
Euro-Par '96 Proceedings of the Second International Euro-Par Conference on Parallel Processing - Volume I
QUAFF: efficient C++ design for parallel skeletons
Parallel Computing - Algorithmic skeletons
A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers
Software—Practice & Experience - Focus on Selected PhD Literature Reviews in the Practical Aspects of Software Technology
Algorithmic skeletons for multi-core, multi-GPU systems and clusters
International Journal of High Performance Computing and Networking
Hi-index | 0.00 |
Message passing based on libraries such as MPI is typically used to program parallel machines with distributed memory. This is efficient but error prone. Algorithmic skeletons intend to simplify parallel programming by increasing the expressive power. The idea is to offer typical parallel programming patterns as polymorphic higher-order functions which are efficiently implemented in parallel. The present paper describes, how C++ templates and operator overloading can be used in order to provide the main features needed for algorithmic skeletons, namely higher-order functions, partial applications, and parametric polymorphism. Experimental results based on a draft implementation of our C++ skeleton library show that the higher expressive power can be gained without a significant performance penalty.