Domain decomposition and skeleton programming with OCamlP31

  • Authors:
  • F. Clément;V. Martin;A. Vodicka;R. Di Cosmo;P. Weis

  • Affiliations:
  • Projet Estime, INRIA-Rocquencourt, Le Chesnay Cedex, France;Projet Estime, INRIA-Rocquencourt, Le Chesnay Cedex, France;Projet Estime, INRIA-Rocquencourt, Le Chesnay Cedex, France;Université de Paris, Paris Cedex, France;Projet Cristal, INRIA-Rocquencourt

  • Venue:
  • Parallel Computing - Algorithmic skeletons
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Domain decomposition methods are numerically efficient for the simulation of large scale phenomena; in addition, these algorithms are naturally parallel and feature a good localization of data. Skeleton programming is a high level method for specifying the parallel structure of a program. We describe a full-fledged application of domain decomposition to a three-dimensional flow simulation problem and we express its parallel coordination code with skeleton programming in the purely functional setting of OCamlP31. We detail the OCamlP31 skeletons (including the new parfun and pardo), their typing, informal semantics, and definition as stream processors. To summarize, functional programming and skeleton programming appear to be an efficient and convenient framework to develop such parallel numerical applications.