Tag: Heterogeneous Compute


Imagination Technologies is a company with a vision to help our customers create innovative products that will change the world. We are always thinking ahead to see how we can best deliver that future – a future that’s bright, bold and empowering. At the core of this vision are our employees who are key in bringing this future to fruition … Continued

Read More

After exploring a quick guide to writing OpenCL kernels for PowerVR Rogue GPUs and analyzing a heterogeneous compute case study focused on image convolution filtering, I am going to spend some time looking at how developers can measure the performance of their OpenCL kernels on PowerVR Rogue GPUs. The performance of scalar code running on a CPU depends upon how … Continued

Read More

In a previous article we described our PowerVR Imaging Framework, a set of extensions to the OpenCL and EGL APIs that enable efficient zero-copy sharing of memory between a PowerVR GPU and other system components such as a CPU, ISP and VDE. Most flows use EGL to facilitate the sharing of objects between multiple client APIs, requiring the Khronos extension … Continued

Read More

I was recently at the 2015 Linley Processor Conference in San Jose and wanted to share with you some of my observations and takeaways. Imagination had a strong presence at the show with Jim Nicholas, VP of MIPS Business Operations, delivering a talk titled Heterogeneous Systems Architecture: Coming Soon to a Platform Near You. Jim’s presentation was on behalf of … Continued

Read More

Writing and optimizing code for heterogeneous computing can be difficult, especially if you are starting from scratch. Imagination has set up a new page where developers can access the source code for an example camera and video post-processing application that leverages the PowerVR Imaging Framework to implement efficient zero-copy flows for a range of image processing kernels. To download the … Continued

Read More

Imagination’s R&D group has developed a face detection algorithm, which is based on a classifier cascade and is optimized to run on mobile devices comprising a CPU and PowerVR GPU. The algorithm employs several optimizations to improve performance and accuracy. In particular, instead of searching each entire frame for faces, the detector limits its search to regions in which faces … Continued

Read More

Modern mobile application processors are highly heterogeneous, combing a variety of different hardware components optimized for different tasks. As shown in the figure below, a processor designed for vision might include an Image Signal Processor (ISP) for acquiring image sensor data, a vector processor such as a GPU for efficient data-parallel operation on pixels and feature vectors, and a CPU … Continued

Read More

Computer vision is the use of computers to extract useful meaning from images, such as those that arise from photographs, video and real-time camera feeds. Thanks to the proliferation of low-power parallel processors, the increasing availability of 3D sensors and an active ecosystem of algorithm developers, it is now possible for many embedded devices to analyse their environments on-demand or … Continued

Read More

In a previously published article, I offered a quick guide to writing OpenCL kernels for PowerVR Rogue GPUs; this sets the scene for what follows next: a practical case study that analyzes image convolution kernels written using OpenCL. Many image processing tasks such as blurring, sharpening and edge detection can be implemented by means of a convolution between an image … Continued

Read More

In my previous article about heterogeneous architectures, I identified memory bandwidth as the main bottleneck for implementing power-efficient algorithms for computer vision. Luckily, Imagination has created an innovative solution designed to address this common issue in mobile and embedded devices – and it comes in the form of the PowerVR Imaging Framework. Introducing the PowerVR Imaging Framework The PowerVR Imaging … Continued

Read More