This crate provides an installable wrapper for the MCL (Minos Compute Library) Scheduler 'mcl_sched'
This is a convenience crate for building and installing the MCL (Minos Compute Library) Scheduler 'mcl_sched'.
This can be installed using
cargo install mcl-sched
The installed mcl-sched binary can be used with both C and Rust based MCL applications (although C applications will have likely already built the scheduler manually).
Once installed, the scheduler usage is the same as if you built it manually from source.
This wrapper will try to use the system default OpenCL implementation.
If not found you will be prompted to set the OCL_PATH_INC
and OCL_PATH_LIB
environment variables to point the appropriate OpenCL headers and libraries.
For complex installations we recommend building MCL manually.
Instructions for this can be found at MCL.
mcl-sched depends on the crate libmcl-sys which provides the low-level rust bindings for the C library of MCL
libmcl-sys
makes use of clang to generate the low-level rust binding from the MCL
header file, so if clang is not available it must be installed to the system.
Once all dependencies have been taken care of, we can build mcl-sched.
cargo install mcl-sched
mcl-sched comes with a set of unit tests that can be executed with:
mcl_sched
MCL, libmcl-sys, and mcl-sched are research prototypes and still under development, thus not all intended features are yet implemented.
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)
Roberto Gioiosa
Ryan Friese
Polykarpos Thomadakis
This project is licensed under the BSD License - see the LICENSE file for details.
IF you wish to cite MCL, please, use the following reference:
Other work that leverage or describe additional MCL features: