#opencl #parallel-processing #array-fire #cuda #performance #computing #bindings

af-opencl-interop

ArrayFire is a high performance software library for parallel computing with an easy-to-use API. This crate is an addition on top of ArrayFire crate to enable users to mix RAW CUDA code in rust and ArrayFire.

1 stable release

3.7.1 Sep 9, 2020

#1096 in Concurrency

38 downloads per month

BSD-3-Clause

635KB
11K SLoC

ci

This crate has known issue: Unified API library of ArrayFire used by Rust bindings has bug that doesn't let us use functions necessary for this crate to work as expected. The associated fix has already been submitted and should be in next release of ArrayFire i.e. either v3.7.3 or v.3.8.

ArrayFire OpenCL Interop

This crate is an addition on top of ArrayFire crate to enable users to mix RAW OpenCL code in rust and ArrayFire.

Supported platforms

Supported on all platforms arrayfire-rust is supported.

Usage

Command to build the crate

cargo build -p af_opencl_interop

Use the following command to run an example

cargo run -p af_opencl_interop --example custom_kernel

This crate can be used by directly using the packages on crates.io or building them on your own. The process for this can be found on arrayfire-rust#readme

Acknowledgements

The ArrayFire library is written by developers at ArrayFire LLC with contributions from several individuals. The developers at ArrayFire LLC have received partial financial support from several grants and institutions. Those that wish to receive public acknowledgement are listed below:

Grants

This material is based upon work supported by the DARPA SBIR Program Office under Contract Numbers W31P4Q-14-C-0012 and W31P4Q-15-C-0008. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the DARPA SBIR Program Office.

Dependencies

~1.5MB
~22K SLoC