| CARVIEW |
mpi-hs-binary: 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,
Boost.MPI
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 will currently always fail since no system MPI library is present there. However, builds on Stackage should succeed -- if not, there is an error in this package.
[Skip to Readme]
Downloads
- mpi-hs-binary-0.1.1.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.1.0.0, 0.1.1.0 |
|---|---|
| Dependencies | base (>=4 && <5), binary, bytestring, monad-loops, mpi-hs (>=0.7.0.0), mpi-hs-binary [details] |
| License | Apache-2.0 |
| Author | Erik Schnetter <schnetter@gmail.com> |
| Maintainer | Erik Schnetter <schnetter@gmail.com> |
| Uploaded | by eschnett at 2020-04-18T21:52:47Z |
| Category | Distributed Computing |
| Home page | https://github.com/eschnett/mpi-hs-binary#readme |
| Bug tracker | https://github.com/eschnett/mpi-hs-binary/issues |
| Source repo | head: git clone https://github.com/eschnett/mpi-hs-binary |
| Distributions | LTSHaskell:0.1.1.0, NixOS:0.1.1.0, Stackage:0.1.1.0 |
| Executables | version, example2, example1 |
| Downloads | 808 total (9 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs uploaded by user Build status unknown [no reports yet] |
Readme for mpi-hs-binary-0.1.1.0
[back to package description]mpi-hs-binary
MPI bindings for Haskell
- GitHub: Source code repository
- Hackage: Haskell package and documentation
- Stackage: Stackage snapshots
- Azure
Pipelines:
Build Status
Overview
This is a companion package to
mpi-hs. Read the documentation
there.
This package mpi-hs-binary provides a high-level interface based on
Data.Binary in the
binary 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-binary/mpi-test-binary