Hello Nice to meet you
Please understand my bad english
To learn to program using GPU, I have been searching informations.
My device for test is Galaxy S6 and GPU is ARM Mali T-760.
I'm going to try to use GPU for computer vision.
To set up environment, Should I use Mali-OpenCL-SDK?
Please teach me
Thanks in advance.
Hi iostream,
That is a very open ended vague question. It is difficult to help without knowing what exactly you need help with. I will try explain some things to help though.
The Mali-T760 GPU in your device is capable of OpenGL ES 3.1 with AEP, including compute shaders, as well as OpenCL 1.1 Full Profile.
You mentioned Computer Vision, which is a vast topic... is there something specific you need help with? Or are you simply having problems getting your algorithm running on the mentioned device?
Although the GPU supports OpenCL, it is not exposed to the user by Android in the S6. As such if you are targetting OpenCL, you will either have to root the device and create a symlink for libOpenCL.so or link directly to our libGLES_mali.so.
The Mali OpenCL SDK is simply a collection of tutorials and sample code to help teach developers OpenCL code and its optimal use with Mali. It is not a Driver Kit designed to setup a device ready for use with OpenCL.
I hope that helps, if you have any further specific questions, please feel free to ask them.
Kind Regards,
Michael McGeagh
Thank you, McGeagh
I don't have some information of GPU programming yet.
so My question seems to be vague.
but your answer is a help to me
I'm going to study GPU programming continuously
Thank you so much McGeagh
when my arm program with bare-metal project, how can i using the Mali GPU? ARM open the GPU hardware program interface?
Hi cut,
I do not fully understand your question so it will be difficult to try help you.
Here is some general information however that may help you understand the process.
All ARM Mali GPU's have support for the OpenGL ES API in order to access the GPU hardware and get it to do something, usually graphical in nature.
The Utgard family of GPUs support up to and including OpenGL ES 2.0, whereas the Midgard family of GPUs support up to and including OpenGL ES 3.1 with Android Extension Pack (AEP) support, as well as Compute APIs such as OpenCL 1.1 Full Profile and RenderScript Compute. The Midgard family of GPUs is denoted by a 'T' in their name. e.g. Mali-T760 is Midgard whereas Mali-400 is Utgard.
Depending on what type of work you wish to send to the GPU, and which GPU you are targetting, you should target the appropriate API.
I hope that helps.