Higher-order functions and partial applications for a C++ skeleton library

  • Authors:
  • Herbert Kuchen;Jörg Striegnitz

  • Affiliations:
  • University of Münster, Münster, Germany;Central Institute for Applied Mathematics, Jülich, Germany

  • Venue:
  • JGI '02 Proceedings of the 2002 joint ACM-ISCOPE conference on Java Grande
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.