ArrayFire: Write once, Run anywhere

Shehzan ArrayFire 2 Comments

One of ArrayFire's biggest features is the ability for code to be written just once and run on a plethora of devices. In this post, we show the outputs of af::info() from various devices available to us. Desktop Processors AMD GPU/CPU (OpenCL)


Intel CPU (OpenCL)

Intel HD Graphics (OpenCL)

Intel Xeon Phi Coprocessor (OpenCL)



Embedded Processors ARM Mali GPU (OpenCL) #


Qualcomm Snapdragon SoC (OpenCL) #

#: Experimental versions. Email for access. The devices shown above are ones we have in-house for demonstration purposes. This is not an exhaustive list. If you have OpenCL working on ...

ArrayFire Capability Update - July 2014

Oded Android, ArrayFire, C/C++, CUDA, Fortran, JAVA, OpenCL, R 1 Comment

In response to user requests for additional ArrayFire capabilities, we have decided to extend the library to have CPU fall back when OpenCL drivers for CPUs are not available. This means that ArrayFire code will be portable to both devices that have OpenCL setup and devices without it. This is done through the creation of additional backends. This will allow ArrayFire users to write their code once and have it run on multiple systems. We currently support the following systems and architectures: NVIDIA GPUs (Tesla, Fermi, and Kepler) AMD's GPUs, CPUs and APUs Intel's CPUs, GPUs and Xeon Phi Co-Processor Mobile and Embedded devices As part of this update process we are also looking at extending ArrayFire capabilities to low power systems such ...

OpenCL on Mobile Devices

Pavan Android, OpenCL 5 Comments

While Google has openly displayed its opposition to OpenCL, many hardware manufacturers seem to be putting their weight behind OpenCL. Qualcomm, ARM, Imagination and Vivante support OpenCL on their GPUs. Android Phone manufacturers - Samsung, HTC, Sony and Amazon - ship OpenCL drivers and libraries on their latest generation of devices. Considering the prevalence of OpenCL on shipped devices, it is likely most Renderscript implementations have an OpenCL backend. To consolidate a list of OpenCL supported Android devices, we created a publicly accessable Google document seen below. If you have an Android phone that is not listed, we'd appreciate it if you contributed to the list. To test if OpenCL is supported on your phone, you can use OpenCL Info ...

ARM Showcases ArrayFire OpenCL Support for Mali GPU at Supercomputing '13

Scott ArrayFire, Events, OpenCL Leave a Comment

ARM showcased ArrayFire support for the Mali GPU at the Supercomputing '13 conference recently held in Denver.  This exciting development caught the attention of many attendees as they viewed the ArrayFire demos running in the ARM and AccelerEyes exhibits.   Energy budgets are always constrained, and form an expensive component of any HPC system. ARM Mali GPUs provide the best performance and throughput for a given energy envelope. Partnering with ARM, AccelerEyes further reduces the cost of HPC by minimizing development time and costs. AccelerEyes offers the most productive software solutions for accelerating code using GPUs, coprocessors, and OpenCL devices.  AccelerEyes delivers ArrayFire to accelerate C, C++, and Fortran codes on CUDA and OpenCL devices.  ArrayFire customers come from a wide range ...