ArrayFire Capability Update - July 2014

Oded Android, ArrayFire, C/C++, CUDA, Fortran, JAVA, OpenCL, R 1 Comment

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:

  • NVIDIA GPUs (Tesla, Fermi, and Kepler)
  • AMD's GPUs, CPUs and APUs
  • Intel's CPUs, GPUs and Xeon Phi Co-Processor
  • 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:

  • Qualcom Adreno GPUs
  • ARM Mali GPUs
  • NVIDIA Tegra K1 GPU
  • Freescale Vivante GPUs
  • You can find a more comprehensive list of devices that can support ArrayFire in this document.

    Language Support

    To further increase the portability of ArrayFire we have also increasing the number of supported programming languages, including R, Fortran, 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 technical@arrayfire.com and we help you.

    Facebooktwittergoogle_plusredditlinkedinmail