Sunday, July 14, 2013

Android, OpenCL, GPU

GPU, Graphics Processing Unit, is the master of the graphics performance on our Android device.It plays an important role when playing games, playing high quality video (HD), and even showing smooth UI. Therefore, it needs to support many rendering libraries, like OpenGL ES, OpenCV, OpenVG, etc.
It seems that GPU on our Android device is performing the same role as our VGA on PC. But, Android is just growing faster recently, so do all GPUs device support all those libraries?
After investigating by reading lots of articles, etc, I figured out that GPU on our Android device are still limited. Few GPUs supports OpenCL library. And what does OpenCL really do?
OpenCL, Open Computing Language, is recently used for non-graphical computing, like image processing, vector computation, matric computation, etc. See sample from Nvidia for more details by clicking here.
Here are Android GPUs that support OpenCL.
  1. Qualcomm (Adreno 300 series)
    • Devices (Snapdragon S4 GPU):
      • Asus PadFone 2, HTC Droid DNA, HTC J Butterfly, LG Optimus G, Nexus 4, Sony Xperia UL, Sony Xperia Z, Sony Xperia ZL, Sony Xperia ZR, Xiaomi MI-2.
  2. ARM (Mali-T600 series)
  3. PowerVR (Series 5XT, SGXMP)
And, there is one GPU that is still not supported OpenCL.
  1. Nvidia Tegra (GeForce ULP)
Inside the list, we could see that mostly GPU vendors are already supported OpenCL inside their newest GPU. But it seems that Nvidia is still thinking on adding OpenCL supports, why? In my opinion, it seems that Nvidia still wants to add CUDA supports for Android (CUDA 5.5 is now supporting ARM).

No comments:

Post a Comment