Generic parallel programming using C++ templates and skeletons

9Citations
Citations of this article
1Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We study how the concept of generic programming using C++ templates, realized in the Standard Template Library (STL), can be efficiently exploited in the specific domain of parallel programming. We present our approach, implemented in the DatTeL data-parallel library, which allows simple programming for various parallel architectures while staying within the paradigm of classical C++ template programming. The novelty of the DatTeL is the use of higher-order parallel constructs, skeletons, in the STL-context and the easy extensibility of the library with new, domain-specific skeletons. We describe the principles of our approach based on skeletons, and explain our design decisions and their implementation in the library. The presentation is illustrated with a case study - the parallelization of a generic algorithm for carrylookahead addition. We compare the DatTeL to related work and report both absolute performance and speedups achieved for the case study on parallel machines with shared and distributed memory.

Cite

CITATION STYLE

APA

Bischof, H., Gorlatch, S., & Leshchinskiy, R. (2004). Generic parallel programming using C++ templates and skeletons. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 3016, pp. 107–126). Springer Verlag. https://doi.org/10.1007/978-3-540-25935-0_7

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free