Features from functional programming for a C++ skeleton library: Research Articles

  • Authors:
  • H. Kuchen;J. Striegnitz

  • Affiliations:
  • University of Münster, Department of Information Systems, Leonardo Campus 3, 48149 Münster, Germany;Research Center Jülich, Central Institute for Applied Mathematics, 52425 Jülich, Germany

  • Venue:
  • Concurrency and Computation: Practice & Experience - 2002 ACM Java Grande–ISCOPE Conference Part II
  • Year:
  • 2005

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 are intended to simplify parallel programming by increasing 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 higher expressive power can be gained without a significant performance penalty. Copyright © 2005 John Wiley & Sons, Ltd.