Here is some great news for those looking for accelerating applications on the Android platform using OpenCL. Portland Group (PGI), has announced OpenCL framework for multicore ARM based processors. What this means is, we now have an OpenCL compiler for ARM based CPUs as a compute device in addition to existing ones for x86 CPUs and GPUs. With this announcement, PGI OpenCL becomes the first OpenCL compiler for Android targeting multicore ARM processors.
OpenCL being an open standard programming model for heterogonous processor systems, developers can now build portable multicore applications that can run across various mobile platforms using PGI's new framework. The initial release supports OpenCL 1.1 Embedded profile specification and is currently targeted at ST Ericsson Novathor ARM based processors.
As specified by PGI, following core components comprise the PGI OpenCL framework:
1. PGI OpenCL device compiler--compiles OpenCL kernels for parallel execution on multi-core ARM processors
2. PGCL driver--a command-level driver for processing source files containing C99, C++ or OpenCL program units, including support for static compilation of OpenCL kernels
3. OpenCL host compilers--the PGCL driver uses the Android native development kit versions of gcc and g++ to compile OpenCL host code
4. OpenCL Platform Layer--a library of routines to query platform capabilities and create execution contexts from OpenCL host code
5. OpenCL Runtime Layer--a library of routines and an extensible runtime system used to set up and execute OpenCL kernels on multi-core ARM
More details on the framework on the PGI site here.