Abstract
Algorithmic skeletons are polymorphic higher-order functions representing common parallelization patterns and implemented in parallel. They can be used as the building blocks of parallel and distributed applications by integrating them into a sequential language. In this paper, we present a new approach to programming with skeletons. We integrate the skeletons into an imperative host language enhanced with higher-order functions and currying, as well as with a polymorphic type system. We thus obtain a high-level programming language which can be implemented very efficiently. After describing a series of skeletons which work with distributed arrays, we give two examples of parallel algorithms implemented in our language, namely matrix multiplication and a statistical numerical algorithm for solving partial differential equations. Rml-time measurements show that we approach the efficiency of message-passing C up to a factor between 1 and 1.75.
Cite
CITATION STYLE
Botorog, G. H., & Kuchen, H. (1996). Efficient parallel programming with algorithmic skeletons. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1123, pp. 718–731). Springer Verlag. https://doi.org/10.1007/3-540-61626-8_95
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.