OpenCL (Open Computing Language) is a low-level API to enable heterogeneous computing on platforms consisting of CPUs, GPUs and other processors. Recently, OpenCL has become available on many new Android devices. Although OpenCL is not part of the Android platform, many manufacturers provide drivers or even SDKs to support OpenCL on Android. The OpenCL is also being used as a back-end for other compute frameworks such as Renderscript in some devices.
This application provides an easy way for developer to check the availability of OpenCL on a device. Detailed platform and device information are provided. Moreover, this application is able to provide raw computing performance, including ALU (Arithmetic Logic Unit) performance and memory bandwidth performance. This can help developers quickly understand the capability of a specific OpenCL-capable device, and may be useful for performance prediction and algorithm optimizations.
The major features of this application:
- detect OpenCL availability;
- detect OpenCL driver library;
- display detailed OpenCL platform information;
- display detailed OpenCL device information;
- measure the raw compute performance and memory system bandwidth;
- export OpenCL information to sdcard;
- share OpenCL information with other applications, such as e-mail clients, note applications, social media and so on;
- material design with nice user interface.
This application has been tested on devices with chipsets from different chip vendors. Most of the flagship Android phones support OpenCL, for example, Samsung Galaxy Note3, S5, Note4; LG G2, G3; Moto G, Moto X; and latest Sony smartphones. The following is a rough list of the GPUs supporting OpenCL:
- Qualcomm Adreno: 305, 320, 330, 420, 430, and other recent GPUs.
- ARM Mali: T628, T760, and other recent GPUs.
- Imagination PowerVR: G6430 and other recent GPUs.
Please notice that, the following devices DO NOT support OpenCL at this moment if you use stock firmware:
- The Nexus 4, 5, 6 and 7 devices (due to the lack of the corresponding OpenCL driver libraries).
- Devices using NVIDIA Tegra K1/X1 chipset (Nexus 9, NVIDIA Shield and so on).
If you run OpenCL-Z on the above devices, you won't get any OpenCL information.
If you failed to get OpenCL information on a device which is supposed (or known) to support OpenCL, please let me know, so that we can investigate it and add support for that device.
Application logo design courtesy of Roy Yu.
OpenCL and the OpenCL logo are trademarks of Apple Inc.