Opencv with opencl on Mali T628

Hi,

Can any one tell that whether i can run test suite of opencv with opencl on Mali-T628 GPU or not, as it is having opencl support for version 1.1 full profile?

i got doubt because i read in opencv's site (OpenCL Module Introduction — OpenCV 2.4.9.0 documentation  in some tidbits:) that  "OpenCL version should be larger than 1.1 with FULL PROFILE."

One more thing i wanna know that "Did any one ran Opencv with CL on  Samsung Electronics Exynos 5250 (GPU : Mali-T604)". can any one tell me whether it support or not. if not ,suggest me a good board, which has a good GPU, which will support opencv with CL on it.

Thanks,

Shabuddin

  • The wording is a bit ambiguous there but I guess they mean "at least" version 1.1 full profile, in which case it should run on Mali Midgard GPUs including T628, providing you have the drivers for your platform.

  • Hi Shabuddin,

    I agree with Chris, the wording in that link is indeed ambiguous but it is more likely to mean >= 1.1 rather than > 1.1.

    The link also refers to 256 as a required workgroup size and this may need some modifications from your side.  The maximum workgroup size on the Mali GPU is indeed 256, but the actual size you can use depends on the complexity of the kernel you are running.  A higher-complexity kernel will use more registers, and that will reduce this size.  If the kernel depends on 256 you may need to do some refactoring so that it works.  I note the document also refers to "max work group size of the device must larger than 256".  Again I assume this also actually means >= 256 rather than > 256.

    To answer your other question, the Mali-T604 on the Exynos 5250 does support full profile OpenCL 1.1 also, so assuming you have drivers and can make any refactoring changes as necessary, it should work.

    One final thought, do bear in mind that GPU architectures can vary hugely, and what is optimised for one is not necessarily optimal for another.  Many of the OpenCL kernels in OpenCV are optimised for desktop architectures.  So you might find it useful to optimise the existing kernels for your Mali platform... there's plenty about this here: Mali-T600 Series GPU OpenCL Developer Guide - Mali Developer Center Mali Developer Center .  There are several other resources here: GPU Compute, OpenCL and RenderScript Tutorials - Mali Developer Center Mali Developer Center

    I hope that's useful!

    Tim