arrayfire/arrayfire

ArrayFire: a general purpose GPU library.

What it solves

ArrayFire simplifies the development of software for parallel architectures, removing the complexity of writing hardware-specific code for CPUs, GPUs, and other accelerators. It provides a unified way to perform high-performance tensor computing across different hardware vendors and platforms.

How it works

It uses a high-level data abstraction called the af::array object. When developers perform operations on these arrays, ArrayFire automatically translates the code into optimized kernels that execute on the available computational device (such as CUDA, oneAPI, or OpenCL), ensuring near-optimal performance without requiring the user to write low-level device code.

Who it’s for

It is designed for software developers in technical computing markets who need to run accelerated tensor operations on a wide range of hardware, from mobile phones to supercomputers.

Highlights

  • Supports hundreds of accelerated functions across linear algebra, machine learning, computer vision, signal processing, and statistics.
  • Cross-platform compatibility across Windows, Mac, and Linux.
  • Broad hardware support including NVIDIA, AMD, Intel, and Qualcomm GPUs, as well as ARM, Intel, and AMD CPUs.
  • Official and community-maintained APIs for C++, Python, Rust, Julia, and Nim.

Related

  • Project
  • Project
  • Project
  • Project