I show a very small sample of how to load and use OpenCL functions on devices like Nexus 4 and Nexus 10.
My approach is somewhat different than other solutions.
I check the existence of various known OpenCL driver libraries (such as libGLES_mali.so on T604 based devices) or libOpenCL.so using dlopen.
Then I load the OpenCL function using dlsym.
This does not require you to link your application against any proprietary blobs.
Proprietary blobs present on the device are loaded at runtime.
This approach also ensures that we can simply check for libraries from multiple vendors, making it more portable.
You do not need to install any GPU SDK (such as Mali SDK) to build the code.
You also do not need to retrive any proprietary blobs from your device. We use standard Khronos headers.