arrayfire_fork 3.8.1

ArrayFire is a high performance software library for parallel computing with an easy-to-use API. Its array based function set makes parallel programming simple. ArrayFire's multiple backends (CUDA, OpenCL and native CPU) make it platform independent and highly portable. A few lines of code in ArrayFire can replace dozens of lines of parallel computing code, saving you valuable time and lowering development costs. This crate provides Rust bindings for ArrayFire library.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Although ArrayFire is quite extensive, there remain many cases in which you may want to write custom
kernels in CUDA or OpenCL. For example, you may wish to add ArrayFire to an existing code base to
increase your productivity, or you may need to supplement ArrayFire's functionality with your own
custom implementation of specific algorithms.

It is fairly straightforward to interface ArrayFire with your own custom code. ArrayFire provides
several functions to ease this process including:

Adding ArrayFire to an existing application is slightly more involved and can be somewhat tricky due
to several optimizations we implement. The most important are as follows:

- ArrayFire assumes control of all memory provided to it.
- ArrayFire does not (in general) support in-place memory transactions.

We will discuss the implications of these items below. To add ArrayFire to existing code you need to: