libmcl-sys

This system crate provides Rust language bindings (via the use of Bindgen) for Minos Computing Library (MCL).

Build requirements

How to build (Tested on Linux)

  1. Set the MCL_PATH environmental variable with the path to MCL installation directory. For example in bash use:

    bash export MCL_PATH=/path/to/mcl/install/ Cargo will try to find the lib/ and include/ directories based on that.

  2. Set the OCL_PATH_INC and OCL_PATH_LIB environmental variables with the path to OpenCL include and lib (or lib64) directories respectively.

    Note: this may not be needed if OpenCL is in the system directories

  3. Build using Cargo

    bash cargo build --release This should produce an .rlib file in target/release/ directory.

How to test

libmcl-sys comes with a set of unit tests that can be executed by running:

bash cargo test --release Reminder: The MCL scheduler should be running when executing the tests.

STATUS

MCL (and libmcl-sys) is a research prototype and still under development, thus not all intended features are yet implemented.

CONTACTS

Please, contact Roberto Gioiosa at PNNL (roberto.gioiosa@pnnl.gov) if you have any MCL questions. For Rust related questions please contact Ryan Friese at PNNL (ryan.friese@pnnl.gov)

MCL-Rust Team

Roberto Gioiosa
Ryan Friese
Polykarpos Thomadakis

LICENCSE

This project is licensed under the BSD License - see the LICENSE file for details.

REFERENCES

IF you wish to cite MCL, please, use the following reference:

Other work that leverage or describe additional MCL features: