This article was originally published at Imagination Technologies' website, where it is one of a series of articles. It is reprinted here with the permission of Imagination Technologies.
Imagination designed its PowerVR Tile-Based Deferred Rendering (TBDR) graphics architecture more than 20 years ago with a focus on efficiency across performance, power consumption and system level integration. This approach has equally been applied to our integration of compute functionality in our GPU architecture; PowerVR Rogue is the most recent version of our GPU architecture and it fully supports mobile compute for a variety of use cases.
This focus on optimising the most common use case is critical for success, and avoids making niche (but costly) features such as FP64 and increased rounding precision mandatory. Such niche features not only impact power consumption for compute usage cases, but also impact all other usage scenarios, including traditional graphics scenarios, where there is zero requirement for FP64 and increased rounding accuracy. This means that an excessive investment in this niche compute functionality will lead to increased overall power consumption, including critical power consumption scenarios such as UI composition and blending rates.
Our latest PowerVR Rogue GPUs support OpenCL and other compute APIs
Hence, even if mandatory FP64 support would help to reduce power consumption for a specific use case, likely to be valid in only an infinitesimally tiny percentage of usage cases, it would come with a significant power cost for the more than 99% of other remaining usage scenarios across graphics and compute. Clearly this is not an acceptable trade-off.
Investments on the PowerVR Rogue hardware side have been focussed on efficiency as well, implementing power-sensible optional features such as image support, local memory and atomics, all combined with a scalar ALU architecture which makes algorithm development and optimisation far easier by avoiding excess complications linked to vectorisation (a significant development effort overhead).
Series7XT ALUs include optional support for FP64
Balance is not only essential on the architecture side, but also on the API side. For graphics we have all recognised and accepted the importance of not blindly implementing everything desktop graphics cores offer (e.g. desktop OpenGL), but instead recognising the need for a very careful balance between power consumption and feature set; this is what OpenGL ES offers. This approach signals the need for a focus on what is truly required, and the need for a market-driven effort to ensure that industry-standard APIs match this critical vision to ensure stellar performance on mobile battery-driven devices.
On the Khronos compute API side, this means a focus on OpenCL Embedded Profile with many key optional features supported in hardware to ensure application compatibility (e.g. FP64). Similarly, on the Google Android side, we need a focus on what really makes practical sense: supporting Renderscript with a balanced feature set, avoiding power hungry niche extremes like FP64 and ensuring the usage of power-saving pragmas is essential. Finally, PowerVR Rogue GPUs are fully programmable hardware engines that area ideal for vision processing; OpenVX is a valuable starting point for accelerating creation and adoption of vision applications, and we’re pleased to report that we’ve achieved conformance on production silicon.
OpenVX is an emerging API for heterogeneous compute
As mobile compute is currently focusing on computer vision applications, with APIs only recently being exposed on devices, our ecosystem is currently ramping up its efforts through lead partner programs. This effort has culminated in highly educational performance guidelines, necessary tools and practical examples to ensure practical, power-efficient mobile compute.
Developers interested in engaging with us on mobile GPU compute use cases should not hesitate to visit our dedicated website and download our programmer’s reference manuals and examples.
By Kristof Beets
Senior Business Development Manager for PowerVR Graphics, Imagination Technologies