Parallelization of divide-and-conquer by translation to nested loops

  • Authors:
  • Christoph A. Herrmann;Christian Lengauer

  • Affiliations:
  • Fakultät für Mathematik und Informatik, Universität Passau, Germany (e-mail: herrmann@fmi.uni-passau.de lengauer@fmi.uni-passau.de);Fakultät für Mathematik und Informatik, Universität Passau, Germany (e-mail: herrmann@fmi.uni-passau.de lengauer@fmi.uni-passau.de)

  • Venue:
  • Journal of Functional Programming
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a hierarchical classification of specializations of the divide-and-conquer paradigm. The aim is to identify a subclass of divide-and-conquer algorithms with an efficient parallel implementation which can be viewed as a static space-time mapping. The specializations impose a balanced call tree, a fixed degree of the problem division, and elementwise operations. The correctness of our compile-time transformations is proved by equational reasoning in Haskell; recursion and iteration are handled by induction. We demonstrate the practicality of the skeleton by some examples, one of which is Strassen's matrix multiplication.