In response to user requests for additional ArrayFire capabilities, we have decided to extend the library to have CPU fall back when OpenCL drivers for CPUs are not available. This means that ArrayFire code will be portable to both devices that have OpenCL setup and devices without it. This is done through the creation of additional backends. This will allow ArrayFire users to write their code once and have it run on multiple systems. We currently support the following systems and architectures:
Mobile and Embedded devices
As part of this update process we are also looking at extending ArrayFire capabilities to low power systems such as mobile and embedded devices. We have already started to port our code to support Android and Linux for embedded systems. Performance results are promising at this stage and we expect to publish initial results in the upcoming weeks (so keep tuned). The market's need for fast systems has brought a new and wide range of systems that all require fast algorithms at a high-level of productivity. We plan on following suit. We are currently working on the following architectures:
You can find a more comprehensive list of devices that can support ArrayFire in this document.
To further increase the portability of ArrayFire we have also increasing the number of supported programming languages, including
Java . The wrappers for these languages are open-source can be found on our github page . If you are interested in creating a wrapper for your favorite language and require assistance, feel free to contact us at email@example.com and we help you.