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.
- 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: ArrayFire