Data Parallel Haskell
This page documents the integration of nested data parallelism into GHC at the developer level, including notes about where we are and what needs doing. See also the user-level wiki page, which includes examples and tutorial-style instructions.
Most of the material describing our approach is partitioned into a set of subpages:
- Nested data parallelism by example
- Data parallelism on shared-memory machines
- High-level design of adding NDP to GHC
- Design of the DPH packages
- Desugaring of array comprehensions
- The VECTORISE pragma
- Preventing space blow-up due to replicate
- Other nested data parallel work
- Live Fusion: An alternative runtime fusion system (WIP)
See also
Status
Work on the DPH project stopped around 2010 at which point the implementation began to bit-rot. In June 2018 the implementation was removed from the GHC source tree.
Old status and work plan
Detailed information on how to use the current implementation is at the user-level wiki page. Here is information on the implementation status and outstanding work items:
- DPH repositories & developer builds
- Current benchmark status
- Release plan DataParallel/Dec2010Release
- Our work plan [OUT OF DATE]
- Some early benchmarks from 2007
Old material
Pages that have fallen out of use (and contain out dated information):