cabal-version: 1.12 -- This file has been generated from package.yaml by hpack version 0.31.2. -- -- see: https://github.com/sol/hpack -- -- hash: 538426701e8b2b17467e84727926d3787dccae19f2208fab5e05afde41654712 name: mpi-hs version: 0.7.0.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 copyright: 2018, 2019, 2020 Erik Schnetter 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-macports description: Use MPICH on MacPorts manual: True default: False flag mpich-ubuntu description: Use MPICH on Ubuntu manual: True default: False flag openmpi-debian description: Use OpenMPI on Debian manual: True default: False flag openmpi-macports description: Use OpenMPI on MacPorts manual: True default: False flag openmpi-ubuntu description: Use OpenMPI on Ubuntu manual: True default: False 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 && <5 , bytestring , monad-loops if flag(openmpi-debian) include-dirs: /usr/lib/x86_64-linux-gnu/openmpi/include extra-lib-dirs: /usr/lib/x86_64-linux-gnu/openmpi/lib extra-libraries: mpi if flag(openmpi-macports) include-dirs: /opt/local/include/openmpi-mp extra-lib-dirs: /opt/local/lib/openmpi-mp extra-libraries: mpi if flag(openmpi-ubuntu) include-dirs: /usr/lib/openmpi/include extra-lib-dirs: /usr/lib/openmpi/lib extra-libraries: mpi if flag(mpich-macports) include-dirs: /opt/local/include/mpich-gcc9 extra-lib-dirs: /opt/local/lib/mpich-gcc9 extra-libraries: mpi if flag(mpich-ubuntu) include-dirs: /usr/lib/mpich/include /usr/include/x86_64-linux-gnu/mpich extra-lib-dirs: /usr/lib/mpich/lib /usr/lib/x86_64-linux-gnu extra-libraries: mpich default-language: Haskell2010 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 if flag(openmpi-debian) include-dirs: /usr/lib/x86_64-linux-gnu/openmpi/include extra-lib-dirs: /usr/lib/x86_64-linux-gnu/openmpi/lib extra-libraries: mpi if flag(openmpi-macports) include-dirs: /opt/local/include/openmpi-mp extra-lib-dirs: /opt/local/lib/openmpi-mp extra-libraries: mpi if flag(openmpi-ubuntu) include-dirs: /usr/lib/openmpi/include extra-lib-dirs: /usr/lib/openmpi/lib extra-libraries: mpi if flag(mpich-macports) include-dirs: /opt/local/include/mpich-gcc9 extra-lib-dirs: /opt/local/lib/mpich-gcc9 extra-libraries: mpi if flag(mpich-ubuntu) include-dirs: /usr/lib/mpich/include /usr/include/x86_64-linux-gnu/mpich extra-lib-dirs: /usr/lib/mpich/lib /usr/lib/x86_64-linux-gnu extra-libraries: mpich default-language: Haskell2010 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 if flag(openmpi-debian) include-dirs: /usr/lib/x86_64-linux-gnu/openmpi/include extra-lib-dirs: /usr/lib/x86_64-linux-gnu/openmpi/lib extra-libraries: mpi if flag(openmpi-macports) include-dirs: /opt/local/include/openmpi-mp extra-lib-dirs: /opt/local/lib/openmpi-mp extra-libraries: mpi if flag(openmpi-ubuntu) include-dirs: /usr/lib/openmpi/include extra-lib-dirs: /usr/lib/openmpi/lib extra-libraries: mpi if flag(mpich-macports) include-dirs: /opt/local/include/mpich-gcc9 extra-lib-dirs: /opt/local/lib/mpich-gcc9 extra-libraries: mpi if flag(mpich-ubuntu) include-dirs: /usr/lib/mpich/include /usr/include/x86_64-linux-gnu/mpich extra-lib-dirs: /usr/lib/mpich/lib /usr/lib/x86_64-linux-gnu extra-libraries: mpich default-language: Haskell2010 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 if flag(openmpi-debian) include-dirs: /usr/lib/x86_64-linux-gnu/openmpi/include extra-lib-dirs: /usr/lib/x86_64-linux-gnu/openmpi/lib extra-libraries: mpi if flag(openmpi-macports) include-dirs: /opt/local/include/openmpi-mp extra-lib-dirs: /opt/local/lib/openmpi-mp extra-libraries: mpi if flag(openmpi-ubuntu) include-dirs: /usr/lib/openmpi/include extra-lib-dirs: /usr/lib/openmpi/lib extra-libraries: mpi if flag(mpich-macports) include-dirs: /opt/local/include/mpich-gcc9 extra-lib-dirs: /opt/local/lib/mpich-gcc9 extra-libraries: mpi if flag(mpich-ubuntu) include-dirs: /usr/lib/mpich/include /usr/include/x86_64-linux-gnu/mpich extra-lib-dirs: /usr/lib/mpich/lib /usr/lib/x86_64-linux-gnu extra-libraries: mpich default-language: Haskell2010 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 if flag(openmpi-debian) include-dirs: /usr/lib/x86_64-linux-gnu/openmpi/include extra-lib-dirs: /usr/lib/x86_64-linux-gnu/openmpi/lib extra-libraries: mpi if flag(openmpi-macports) include-dirs: /opt/local/include/openmpi-mp extra-lib-dirs: /opt/local/lib/openmpi-mp extra-libraries: mpi if flag(openmpi-ubuntu) include-dirs: /usr/lib/openmpi/include extra-lib-dirs: /usr/lib/openmpi/lib extra-libraries: mpi if flag(mpich-macports) include-dirs: /opt/local/include/mpich-gcc9 extra-lib-dirs: /opt/local/lib/mpich-gcc9 extra-libraries: mpi if flag(mpich-ubuntu) include-dirs: /usr/lib/mpich/include /usr/include/x86_64-linux-gnu/mpich extra-lib-dirs: /usr/lib/mpich/lib /usr/lib/x86_64-linux-gnu extra-libraries: mpich default-language: Haskell2010 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 if flag(openmpi-debian) include-dirs: /usr/lib/x86_64-linux-gnu/openmpi/include extra-lib-dirs: /usr/lib/x86_64-linux-gnu/openmpi/lib extra-libraries: mpi if flag(openmpi-macports) include-dirs: /opt/local/include/openmpi-mp extra-lib-dirs: /opt/local/lib/openmpi-mp extra-libraries: mpi if flag(openmpi-ubuntu) include-dirs: /usr/lib/openmpi/include extra-lib-dirs: /usr/lib/openmpi/lib extra-libraries: mpi if flag(mpich-macports) include-dirs: /opt/local/include/mpich-gcc9 extra-lib-dirs: /opt/local/lib/mpich-gcc9 extra-libraries: mpi if flag(mpich-ubuntu) include-dirs: /usr/lib/mpich/include /usr/include/x86_64-linux-gnu/mpich extra-lib-dirs: /usr/lib/mpich/lib /usr/lib/x86_64-linux-gnu extra-libraries: mpich default-language: Haskell2010