cabal-version: 1.12 -- This file has been generated from package.yaml by hpack version 0.35.2. -- -- see: https://github.com/sol/hpack name: mpi-hs version: 0.7.3.0 synopsis: MPI bindings for Haskell description: MPI (the [Message Passinag Interface](https://www.mpi-forum.org)) 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.com/bjpop/haskell-mpi), [Boost.MPI](https://www.boost.org/doc/libs/1_64_0/doc/html/mpi.html) for C++, and [MPI for Python](https://mpi4py.readthedocs.io/en/stable/). . @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. category: Distributed Computing homepage: https://github.com/eschnett/mpi-hs#readme bug-reports: https://github.com/eschnett/mpi-hs/issues author: Erik Schnetter maintainer: Erik Schnetter , Phillip Seeber license: Apache-2.0 license-file: LICENSE build-type: Simple extra-source-files: LICENSE README.md package.yaml stack.yaml stack.yaml.lock c/include/mpihs.h c/src/mpihs.c source-repository head type: git location: https://github.com/eschnett/mpi-hs flag mpich description: Use MPICH manual: True default: False flag mvapich description: Use MVAPICH2 manual: True default: False flag openmpi description: Use OpenMPI manual: True default: True library exposed-modules: Control.Distributed.MPI Control.Distributed.MPI.Storable other-modules: Paths_mpi_hs hs-source-dirs: lib ghc-options: -Wall include-dirs: c/include c-sources: c/src/mpihs.c build-tools: c2hs build-depends: base ==4.* , bytestring , monad-loops default-language: Haskell2010 if flag(mpich) pkgconfig-depends: mpich if flag(openmpi) pkgconfig-depends: ompi if flag(mvapich) pkgconfig-depends: mvapich2 if !flag(mvapich) && !flag(mpich) && !flag(openmpi) extra-libraries: mpi executable example1 main-is: example1.hs other-modules: Paths_mpi_hs hs-source-dirs: src ghc-options: -Wall -rtsopts -threaded -with-rtsopts=-N build-depends: base , mpi-hs default-language: Haskell2010 if flag(mpich) pkgconfig-depends: mpich if flag(openmpi) pkgconfig-depends: ompi if flag(mvapich) pkgconfig-depends: mvapich2 if !flag(mvapich) && !flag(mpich) && !flag(openmpi) extra-libraries: mpi executable example2 main-is: example2.hs other-modules: Paths_mpi_hs hs-source-dirs: src ghc-options: -Wall -rtsopts -threaded -with-rtsopts=-N build-depends: base , mpi-hs default-language: Haskell2010 if flag(mpich) pkgconfig-depends: mpich if flag(openmpi) pkgconfig-depends: ompi if flag(mvapich) pkgconfig-depends: mvapich2 if !flag(mvapich) && !flag(mpich) && !flag(openmpi) extra-libraries: mpi executable version main-is: version.hs other-modules: Paths_mpi_hs hs-source-dirs: src ghc-options: -Wall -rtsopts -threaded -with-rtsopts=-N build-depends: base , mpi-hs default-language: Haskell2010 if flag(mpich) pkgconfig-depends: mpich if flag(openmpi) pkgconfig-depends: ompi if flag(mvapich) pkgconfig-depends: mvapich2 if !flag(mvapich) && !flag(mpich) && !flag(openmpi) extra-libraries: mpi test-suite mpi-test type: exitcode-stdio-1.0 main-is: Main.hs other-modules: Paths_mpi_hs hs-source-dirs: tests/mpi ghc-options: -Wall -rtsopts -threaded -with-rtsopts=-N build-depends: base , monad-loops , mpi-hs default-language: Haskell2010 if flag(mpich) pkgconfig-depends: mpich if flag(openmpi) pkgconfig-depends: ompi if flag(mvapich) pkgconfig-depends: mvapich2 if !flag(mvapich) && !flag(mpich) && !flag(openmpi) extra-libraries: mpi test-suite mpi-test-storable type: exitcode-stdio-1.0 main-is: Main.hs other-modules: Paths_mpi_hs hs-source-dirs: tests/storable ghc-options: -Wall -rtsopts -threaded -with-rtsopts=-N build-depends: base , mpi-hs default-language: Haskell2010 if flag(mpich) pkgconfig-depends: mpich if flag(openmpi) pkgconfig-depends: ompi if flag(mvapich) pkgconfig-depends: mvapich2 if !flag(mvapich) && !flag(mpich) && !flag(openmpi) extra-libraries: mpi