Version 1 (modified by chak, 8 years ago) (diff)


Work plan for implementing Data Parallel Haskell

Major milestones:

Milestone 1: basic SMP library (End of Feb 2007)
Implementation of the central parts of an array library of flat and segmented arrays that uses distributed types to partition work on an SMP thread gang and uses fusion to eliminate superflous join points and intermediate arrays.
Milestone 2: basic vectorisation (End of Aug 2007)
Implementation of the vectorisation transformation and basic interaction of vectorised and non-vectorised code to provide (including the results from Milestone 1) a complete path from source programs to parallel executable for simple examples.
Milestone 3: larger examples (End of Feb 2008)
Optimisations and added functionality to handle larger example programs.

Work items for vectorisation

  • We need closure conversion to handle the full higher-order case.
  • Can we get some cheap'n'cheesy vectorisation by disallowing any "difficult" form of higher-order functions? (Eg, higher-order functions without free variables and without partial applications are easier to vectorise.)

Work items for the library

  • ??