Skip to content

Haskell bindings to the CCI reference implementation library.

License

Notifications You must be signed in to change notification settings

haskell-distributed/haskell-cci

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository contains Haskell bindings for the CCI library. There is more information about CCI at https://www.olcf.ornl.gov/center-projects/common-communication-interface/

Beware that this repository hasn't been updated for several years.

See LICENSE for license information.

Building cci

Install latest cci first. You can get it from https://github.com/CCI/cci.

Then build and install the bindings:

$ cabal install

You might need extra flags if CCI is not installed in a standard location on your system:

$ cabal install --extra-lib-dirs=/path/to/cci/lib \
                --extra-include-dirs=/path/to/cci/include/

The LD_LIBRARY_PATH will also need to be set before running any program or test in this case:

$ export LD_LIBRARY_PATH=/path/to/cci/lib/

To generate HTML documentation:

$ cabal haddock

Examples

pingpong

Start the server:

$ ./dist/build/ex-pingpong/ex-pingpong -s
Opened ip://192.168.0.1:46188
...

Start the client using RMA transfers up to 4 MB:

$ ./dist/build/ex-pingpong/ex-pingpong -h ip://192.168.0.1:46188 -r 4194304

Start the client using active messages:

$ ./dist/build/ex-pingpong/ex-pingpong -h ip://192.168.0.1:46188

Tests

In short:

$ cabal configure --enable-tests
$ cabal build
$ cabal test

See test/README.md for details.

Design notes

See here.

About

Haskell bindings to the CCI reference implementation library.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •