mpi-hs-binary-0.1.1.0: MPI bindings for Haskell

mpi-hs-binary-0.1.1.0: MPI bindings for Haskell

MPI (the Message Passinag Interface) is a widely used standard for distributed-memory programming on HPC (High Performance Computing) systems. MPI allows exchanging data (_messages_) between programs running in parallel. There are several high-quality open source MPI implementations (e.g. MPICH, MVAPICH, OpenMPI) as well as a variety of closed-source implementations. These libraries can typically make use of high-bandwidth low-latency communication hardware such as InfiniBand.

This library mpi-hs provides Haskell bindings for MPI. It is based on ideas taken from [haskell-mpi](https:/github.combjpop/haskell-mpi), [Boost.MPI](https:/www.boost.orgdoclibs1_64_0dochtml/mpi.html) for C++, and MPI for Python.

mpi-hs provides two API levels: A low-level API gives rather direct access to the actual MPI API, apart from certain "reasonable" mappings from C to Haskell (e.g. output arguments that are in C stored via a pointer are in Haskell regular return values). A high-level API simplifies exchanging arbitrary values that can be serialized.

Note that the automated builds on [Hackage](http://hackage.haskell.org) will currently always fail since no system MPI library is present there. However, builds on [Stackage](https://www.stackage.org) should succeed -- if not, there is an error in this package.

Signatures

Modules