ArrayFire

Libraries

ArrayFire is a parallel-computing library that focuses on ease of use and portability. Its array-based functions make parallel programming simple. By providing multiple back ends, ArrayFire enables you to easily compile applications once and run them on Cuda, OpenCL or multithreaded devices, depending on the hardware.

Key Features

The following are some important ArrayFire capabilities:

  • Includes functions from multiple domains, such as vector algorithms, linear algebra, statistics, computer vision, image processing and signal processing
  • Enables you to replace 10–100 lines of raw OpenCL code with a few lines of ArrayFire code
  • Parallelizes problems at multiple levels
  • Available for C/C++, Python and Rust
  • Will support Java, R, Fortran, .Net, Lua and Go interfaces (under development)
  • Easy integration with existing OpenCL applications
  • Employs existing open-source libraries when available

OS Support

  • Windows
    • Installers available for x86-64 only
    • Can be built from source on 32-bit x86 machines
  • Linux
    • Installers available for x86-64 and ARMv7
    • Can be built from source on other platforms
  • OS X
  • Installers available for x86-64

Tested Hardware

AMD

  • FirePro: W8100 (Windows and Linux), S10000 (Linux)
  • Radeon: HD7970 (Windows and Linux), R9 390 (Linux)
  • APUs: A10-7870K (Windows and Linux)
  • CPUs: FX-8350 (Linux)
  • Xeon: E5-2560v2 (Linux)
  • Core: i7-4770K (Windows and Linux)

Links

ArrayFire.com
ArrayFire installers
ArrayFire source
ArrayFire documentation
Python wrapper
Rust wrapper

Resources