mpi-hs-store: MPI bindings for Haskell

[ apache, distributed-computing, library, program ] [ Propose Tags ]

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.


[Skip to Readme]
Versions [RSS] [faq] 0.1.0.0
Dependencies base (==4.*), bytestring, monad-loops, mpi-hs (>=0.7.0.0), mpi-hs-store, store [details]
License Apache-2.0
Author Erik Schnetter <schnetter@gmail.com>
Maintainer Erik Schnetter <schnetter@gmail.com>
Category Distributed Computing
Home page https://github.com/eschnett/mpi-hs-store#readme
Bug tracker https://github.com/eschnett/mpi-hs-store/issues
Source repo head: git clone https://github.com/eschnett/mpi-hs-store
Uploaded by eschnett at 2020-04-18T22:29:07Z
Distributions NixOS:0.1.0.0
Executables version, example2, example1
Downloads 152 total (6 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Candidates


Readme for mpi-hs-store-0.1.0.0

[back to package description]

mpi-hs-store

MPI bindings for Haskell

Overview

This is a companion package to mpi-hs. Read the documentation there.

This package mpi-hs-store provides a high-level interface based on Data.Store in the store package. This is a separate package to reduce dependencies for mpi-hs. Note that mpi-hs has a similar high-level interface based on Data.Storable already built in.

Running the tests

There is one test case provided in tests:

stack build --test --no-run-tests
mpiexec -n 3 stack exec -- $(stack path --dist-dir)/build/mpi-test-store/mpi-test-store