In my last two articles, I’ve explained how PowerVR Series5XT GPUs are able to go beyond the basic feature set of graphics APIs like OpenGL ES and DirectX, and offer full, complete and feature-rich implementations of new and existing graphics APIs. It’s now time to focus on our support for GPU compute and how we’ve rapidly adopted OpenCL, Renderscript and Filterscript across all our PowerVR Series5XT and Series6 families.
Imagination has always been at the forefront of recognizing new market requirements. One of the best examples of this was recognising the need for GPUs in mobile devices with the launch of PowerVR MBX in February 2001, which has resulted in the market leading position we have in the embedded market today.
Optimized for mobile GPU compute with OpenCL EP
But we did not stop there. In 2011, Imagination introduced support for GPU compute through OpenCL on PowerVR SGX hardware.
This may not sound very exciting until you realise that the SGX architecture was designed in 2005. This once again proves how forward-thinking and flexible our hardware designs are, and how talented and capable our software teams are. Even more incredible is the fact that the PowerVR SGX544 was finalised before the OpenCL standard was completed, so this alone can be considered an equally impressive achievement and effort.
Cloth demo: PowerVR Series5XT and Series6 running OpenCL
These results show just how dedicated Imagination is to ensuring that our customers’ products remain market leading by constantly upgrading and extending the feature set available.
New kids on the block: Renderscript and Filterscript
In 2013, Google introduced its own GPU compute API interfaces, Renderscript (designed for CPUs) and – the more relevant and practical – Filterscript (designed for GPUs). Once again, Imagination’s software teams have stepped up to the challenge by fully supporting and demonstrating both of these APIs at Mobile World Congress 2013.
Equally, I feel the need to stress that our GPU compute support is not just ‘tick box’ support; it’s a fully conformant and usable implementation that offers the benefits that are expected from a GPU compute solution: higher performance for lower power consumption for GPU-friendly, parallel compute usage cases such as image processing.
A Filterscript example running on the PowerVR SGX544SC GPU
Our full support for OpenGL ES 2.0, DirectX9_3, the near OpenGL ES3.0 feature set capability and our GPU compute support mean that our Series5XT GPU cores, including PowerVR SGX544, are not ‘old’ at all – they are fully matching today’s sensible (as in balanced with power and silicon area) market requirements.
In the next blog post, I will discuss how PowerVR SGX puts efficiency first through a series of unique architectural features that allow Series5XT cores to deliver uncompromising performance while keeping power consumption at a minimum.
If you have any questions or feedback about Imagination’s graphics IP, please use the comments box below. To keep up to date with the latest developments on PowerVR, follow us on Twitter (@GPUCompute, @PowerVRInsider and @ImaginationPR) and subscribe to our blog feed.
‘Understanding PowerVR’ is an on-going, multi-part series of blog posts from Kristof Beets, Imagination’s Senior Business Development Manager for PowerVR. These articles not only focus on the features that make PowerVR GPUs great, but also provide a detailed look at graphics hardware architectures and software ecosystems in mobile markets.
If you’ve missed any of the posts, here are some backlinks:
- PowerVR GPUs and graphics API standards (part 1)
- PowerVR GPUs and graphics API standards (part 2)
- PowerVR and GPU compute (part 3)
- PowerVR, TBDR and architecture efficiency (part 4)
- Multithreading, multitasking ALUs, the MicroKernel and core scalability (part 5)
- PVRTC, PVRTC2 and texture compression (part 6)
- YUV colour space conversions and the 2D core (part 7)
- PowerVR’s market leading fillrate efficiency (part 8)
- PowerVR’s hardware is nothing without software optimization (part 9)
- The PowerVR Insider ecosystem and final thoughts (part 10)