Application of the Polytope Model to Functional Programs

  • Authors:
  • Nils Ellmenreich;Christian Lengauer;Martin Griebl

  • Affiliations:
  • -;-;-

  • Venue:
  • LCPC '99 Proceedings of the 12th International Workshop on Languages and Compilers for Parallel Computing
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

We propose an approach to the static parallelization of functional programs. In past work, implicit parallelism in functional programs has mostly been dynamic, i.e., implemented by parallel graph reduction. In a special application domain, scientific computing, a static parallelization method has been successful, which is based on a mathematical execution model, the polytope model. Since scientific computations are usually phrased imperatively, the study of the polytope model has focused on imperative programs. We show that the polytope model also applies to functional programs. We describe the prerequisites for adapting the polytope model to Haskell, a non-strict functional language. Automatically generated parallel code in a subset of Haskell consists of instructions for an abstract parallel machine (APM). In future work, APM code can be translated further to native code for a parallel machine. We demonstrate a parallelization in the polytope model on a functional program for LU decomposition.