The Mobile Revolution

The mobile revolution is in full swing as more and more devices of greater capability hit the market. As the variety of mobile devices increases on a daily basis, so does the power of the devices and the complexity of the tasks that they can do due to huge performance increases in CPU and GPU as well as other dedicated accelerators. This means that smart phones and tablets are able to deliver an ever increasing graphical and compute capability in order to execute the tasks we want them to do. Be it a 3D game, a computer vision algorithm to manipulate images and videos, or an app that will run some specific algorithm such as processing signals from outer-space for NASA there are actually some initiatives to move the SETI@Home project to run on our mobile devices), increasingly GPU Compute capable devices are available that can be applied to this.

However, this huge leap in computational power comes with a cost: power consumption. This directly translates to battery life on mobile devices therefore, future processors need to be more power efficient. This is where the GPUs have the upper hand over traditional CPUs (even mobile ones) and that is why, we believe, they are the future of mobile high performance.

GPU as the horsepower for mobile compute

Due to the increasing demand to do more compute tasks on mobile devices, such tasks are now being migrated from the CPU to the GPU (Graphical Processing Unit) in order to ease the load on the CPU and carry them out faster on the GPU at often much lower power. The GPU was originally intended for graphics and games only implementing graphics standards such as Khronos OpenGL/OpenGL ES etc, but over time people have started to realize it can do more general stuff and the term GPGPU (General Purpose computing on Graphic Processing Units) was coined.

Over time most silicon vendors and OEMs have started enabling their GPUs to support GPGPU programming mostly through OpenCL and CUDA, and recently RenderScript for Android based devices.

We at SagivTech have identified this trend early on and as a leading supplier of GPGPU solutions, specializing in GPU computing and image processing, have started investing time and resources into enabling wide variety of algorithms to run on the mobile platforms. We, the SagivTech Mobile computing team, have already quite a few different image processing algorithms working on a couple of mobile platforms utilizing their GPU capabilities. In this tutorial, and hopefully it’s follow-ups, we intend to share with you our efforts and findings in this exciting new field of computing.

Here you can find SagivTech’s OpenCV/OpenCL step by step tutorial demonstrating how to build OpenCL/OpenCV applications for the Android platform.

This project is partially funded by the European Union under thw 7th Research Framework, programme FET-Open SME, Grant agreement no. 309169

Written by: Eyal Hirsch, GPU Computing Expert, Mobile GPU Leader, SagivTech.

Legal Disclaimer:

You understand that when using the Site you may be exposed to content from a variety of sources, and that SagivTech is not responsible for the accuracy, usefulness, safety or intellectual property rights of, or relating to, such content and that such content does not express SagivTech’s opinion or endorsement of any subject matter and should not be relied upon as such. SagivTech and its affiliates accept no responsibility for any consequences whatsoever arising from use of such content. You acknowledge that any use of the content is at your own risk.