HdpH (Haskell distributed parallel Haskell) GitHub repository
Haskell distributed parallel Haskell (HdpH) is a Haskell DSL for parallel computation on distributed-memory architectures. HdpH is implemented entirely in Haskell but does make use of GHC extensions, most notably TemplateHaskell.
A recent paper  presents the semantics of HdpH and evaluates its implementation. There are also earlier design papers [2,3]. Sources for the related reliable HdpH-RS DSL can also be found on GitHub .
This repository largely follows the git branching model of .
masterbranch publishes releases. Its HEAD is always the latest release, and it contains a directory
releaseswith archived cabal packages.
developbranch tracks development integration. Its HEAD is the latest development version.
foois a descriptive string) are for the development or fixing of feature
foo. They branch off
developand are eventually merged back into
baris a descriptive string) are for testing wacky ideas. They branch off
developbut are not meant to be merged back.
a.b.cis a version number) prepare for releases. They branch off
developand are merged back into
a.b.c.dis a version number) prepare for off-cycle fixes of released code. They branch off
a.b.c) and are merged back
developare considered public.
hdph is the main HdpH source. It relies on auxiliary
hdph-mpi-allgather; the latter is
only required when using MPI node discovery instead of UDP.
HISTORY.txt for information about package and compiler
Detailed build instructions can be found in
Building the auxiliary package
hdph-closure is straightforward.
hdph-mpi-allgather requires furnishing the cabal
installer with the paths to MPI libraries and includes, see
hdph-mpi-allgather/README.md for examples; the package has been
built successfully with recent OpenMPI and MPICH libraries.
HdpH is not production software; use at your own risk (see
Documentation may be out of date.
Patrick Maier, Rob Stewart, Phil Trinder. The HdpH DSLs for Scalable Reliable Computation. Proc. 2014 ACM SIGPLAN Symposium on Haskell (Haskell 2014), pp 65-76. DOI 10.1145/2633357.2633363
Patrick Maier, Rob Stewart, Phil Trinder. Reliable Scalable Symbolic Computation: The Design of SymGridPar2. Proc. 28th ACM Symposium On Applied Computing (SAC 2013), pp. 1677-1684.
Patrick Maier, Phil Trinder. Implementing a High-level Distributed-Memory Parallel Haskell in Haskell. Proc. 23rd Intl. Symposium on the Implementation and Application of Functional Languages (IFL 2011), pp. 35-50.
Rob Stewart. HdpH-RS development repository
Vincent Driessen. A successful Git branching model