Best-of-Class Under One Roof.

One stable array API across CUDA, OpenCL, oneAPI, and CPU execution.

Multi-backend computing

Keep the application model stable while hardware choices change.

ArrayFire separates high-level array code from the backend that executes it. Teams can develop against one API, select the backend that matches a deployment, and retain escape hatches for custom kernels and device-level integration.

4CUDA, OpenCL, oneAPI, and CPU execution paths
3 vendorsNVIDIA, AMD, and Intel deployment ecosystems
11 APIslanguage interfaces sharing the same core operations

Choose the execution path deliberately

The active backend determines which device runtime, vendor libraries, and generated kernels execute the ArrayFire API calls.

BackendHardware focusWhat stays consistentWhat remains backend-specific
CUDANVIDIA GPUsArray operations and application flowCUDA runtime, libraries, and device behavior
OpenCLCross-vendor devicesArray operations and application flowOpenCL platform, drivers, and device capabilities
oneAPIIntel heterogeneous systemsArray operations and application flowoneAPI toolchain and target capabilities
CPUMulticore processorsArray operations and application flowHost libraries, threading, and memory bandwidth

What portability means in practice

ArrayFire reduces the code that must change between platforms. It does not hide the fact that hardware, drivers, precision, memory capacity, and workload shape still affect performance.

API

Stable algorithm code

Core array expressions, indexing, transforms, reductions, and linear algebra remain recognizable across backends.

RUN

Explicit backend choice

Select and validate the execution backend for each deployment rather than maintaining separate application implementations.

TUNE

Performance where it matters

Profile on target hardware, then use ArrayFire primitives, backend configuration, or custom kernels for the limiting paths.

Built for change over time

ArrayFire has evolved through multiple GPU generations and vendor toolchains. That history is useful to teams that need a compute layer to outlast any single hardware purchase.

Test ArrayFire on your hardware.

Install a platform build or try the API in a browser before choosing a deployment backend.