Does Android support OpenCL?

liu jie picture liu jie · Nov 7, 2014 · Viewed 14.6k times · Source

Recently I want to develop the parallel computing application on android use OpenCL. As far as I know, Android system does not include "libopencl.so",but there are still some webs or blogs show OpenCL development on android. Does Android support OpenCL? if so, what should I do to develop OpenCL on android ?

Answer

Robert Wang picture Robert Wang · Apr 14, 2015

Update on May 20, 2016

For all devices with arm64-v8a ABI, the OpenCL library may located in lib64 folder as well.

So when you check the OpenCL library, make sure you also check the corresponding lib64 folder (if you prefer arm64-v8a as the first ABI for your app, you may want to first check lib64 folder).

For example: /system/vendor/lib64/libOpenCL.so


The original answer:

Since 2014, there are more phones supporting OpenCL.

The followings are the location of the OpenCL library:

Qualcomm Adreno:

/system/vendor/lib/libOpenCL.so
or /system/lib/libOpenCL.so (older devices)

ARM Mali:

/system/vendor/lib/egl/libGLES_mali.so
or /system/lib/egl/libGLES_mali.so

PowerVR:

/system/vendor/lib/libPVROCL.so

You can use OpenCL-Z Android to check the available and capabilities of OpenCL on Android devices.