Crates.io | libmcl-sys |
lib.rs | libmcl-sys |
version | 0.1.2 |
source | src |
created_at | 2022-04-02 06:39:06.528405 |
updated_at | 2023-06-23 03:12:02.959949 |
description | This system crate provides Rust language bindings to the Minos Compute Library (MCL) |
homepage | |
repository | https://github.com/pnnl/mcl |
max_upload_size | |
id | 560720 |
size | 4,958,040 |
This system crate provides Rust language bindings (via the use of Bindgen) for Minos Computing Library (MCL). It is highly recommended that instead of using libmcl-sys directly your instead use the higer level (and safer) mcl-rs crate
cargo install mcl_sched
)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
install mcl_sched:
cargo install mcl_sched
Build using Cargo
cargo build --release
set the MCL_PATH
environmental variable with the path to MCL installation directory. For example in bash use:
export MCL_PATH=/path/to/mcl/install/
Cargo will try to find the lib/
and include/
directories based on that.
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
Build using Cargo
cargo build --release
This should produce an .rlib
file in target/release/
directory.
libmcl-sys comes with a set of unit tests that can be executed by running:
cargo test --release
Reminder: The MCL scheduler should be running when executing the tests. if you installed mcl_sched via cargo then you should be able to invoke directly:
mcl_sched
If you built mcl manually you may need to specify the path to the mcl_sched binary
We expose three feauture flags, losely corresponding to configuration options of the underlying MCL c-library
MCL (and libmcl-sys) is a research prototype 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: