ArrayFire is a comprehensive, open source function library with interfaces for C, C++, Java, R and Fortran. It integrates with any CUDA application, and contains an array-based API for easy programmability. The ArrayFire library contains the popular "GFOR" for-loop for running all loop iterations simultaneously on the GPU. It is designed for use on the full range of systems, from single GPU systems to large multi-GPU supercomputers. The ArrayFire Library is fully open source, and can be accessed via the ArrayFire website.

Key Features

  • It contains excellent GPU implementations of hundreds of matrix, signal, and image processing routines that enable it outperform CPU libraries like IPP, MKL, Eigen, Armadillo, and more.
  • It is optimized for any CUDA-enabled GPU. The same code will run on laptops, desktops, or servers.
  • It includes thousands of lines of highly-tuned device code.
  • It performs run-time analysis of your code to increase arithmetic intensity and memory throughput while avoiding unnecessary temporary allocations.
  • It combines and enhances all the best CUDA libraries available, including the fastest FFT, BLAS, and LAPACK implementations.
  • A simple array notation you can learn in minutes.
  • A few lines of ArrayFire code accomplishes what would have taken 10-100X lines in raw CUDA.
  • It is easier than templated programming and goes farther than simple directive-based approaches (and outperforms those approaches too).
  • It supports easily scaling to take advantage of multiple GPUs.
  • It can be used in C/C++ applications by itself or integrated with your existing CUDA code.
  • It has hundreds of functions you need to make your code faster including arithmetic, linear algebra, statistics, signal processing, image processing, and related algorithms (see more).
  • It supports single and double-precision floating point values, complex numbers, and booleans (see more).
  • It supports manipulating vectors, matrices, and N-dimensional arrays (see more).
  • It can execute loop iterations in parallel with gfor (see more).

Developers have experienced from 2X to 100X speedups, depending on the data-parallelism inherent in the application.


Free version available on the ArrayFire Website.

For more information:

Additional GPU Accelerated Libraries