Hi
I understand that Mali-400 GPU's does not have OpenCL support, can any one share the technical limitations of Mali-400 which limits the OpenCL support.
Or it can be added ?
Thanks,
Mani
Hi Mani,
Mali-400 has excellent graphics capabilities, being fully compatible with OpenGL ES 1.1 and 2.0. But though it is programmable - supporting both vertex and fragment shaders - there is no support for a compute pipeline, so it is not ever going to be suitable for accelerating OpenCL. Some aspects of OpenCL are more demanding than OpenGL ES, particularly with floating point precision. So even if you could somehow run a general purpose shader on the pixel processors, it would not have the precision required by CL.
As you may know, the Mali-600 and Mali-700 range of GPUs do provide a fully general purpose compute architecture.
I hope that helps,
Tim
Hi Tim,
Thanks for the details,
Could you elobrate how I can use Mali400 for video decode/encoding application acceleration. Can I use use OpenGL ES functions to do video processing with Mali400?
Hi devmani,
You can definitely use the GPU to perform video processing, for example I've seen a few people accelerating YUV->RGB conversion using the GPU. If you can do the work using GLES2, then you can do the work on a Mali-400 GPU. Typically encode/decode is done using a dedicated hardware block, but if you're playing with some newer/more exotic formats then the GPU is a good option to speed things up. There should be a number of papers on the subject and maybe some existing open source projects working on this.
Chris