Tag Archives | GPU Compute

05-Zero-copy transfer between a camera and display

Supported zero-copy flows inside the PowerVR Imaging Framework


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 […]

Continue Reading 0

Debugging OpenCL programs with Oclgrind


James Price is currently completing a PhD degree at the Department of Computer Science, University of Bristol. When developing programs that utilise GPU compute via OpenCL, we can’t use our traditional CPU development tools. This can make debugging complex OpenCL kernels challenging. As part of my PhD, funded by Imagination Technologies, I’ve developed an OpenCL […]

Continue Reading 0
PowerVR framework offers easy imaging integration 2

The PowerVR Imaging Framework camera demo


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 […]

Continue Reading 0
12-Block-level implementation of face detection on CPU and GPU

Deep dive: OpenCL face detection on PowerVR [part 3]


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 […]

Continue Reading 0
1-Baidu offline mobile DNN app

Deep dive: Implementing computer vision with PowerVR [part 1]


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 […]

Continue Reading 0
15-Example of image filtering by means of convolution

Heterogeneous compute case study: image convolution filtering


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 […]

Continue Reading 3
25-Integrating zero-copy flow with Android Camera HAL

The PowerVR Imaging Framework for Android


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 […]

Continue Reading 0
03-Vision software pipeline implemented on top of hardware

Increasing performance and power efficiency in heterogeneous software


Heterogeneous architectures in embedded computing are fast becoming a reality – we indeed see many leading IP and semiconductor companies today building heterogeneous computing hardware. In the article below, I’m going to describe one typical use case for heterogeneous computing and the challenges that result from moving to a heterogeneous programming model. Running a beautification […]

Continue Reading 0
07-Example NDRange in 2 dimensions comprising 512 work-items

A quick guide to writing OpenCL kernels for PowerVR Rogue GPUs


This article and a follow-up to be published next month introduce OpenCL programming for the PowerVR Rogue architecture. Firstly, I’d like to give you an overview of OpenCL programming fundamentals using a basic program, followed by an explanation of OpenCL execution on Rogue GPUs. This provides the background to understand the programming guidelines for the […]

Continue Reading 0
01-SoC architecture

A primer on mobile systems used for heterogeneous computing


In the mobile and embedded market, the design constraints of electronic products can sometimes be seen as tight and contradictory: the market demands higher performance yet lower power consumption, reductions in cost but shorter time-to-market. These constraints have created a trend for more specialized hardware designs that fit a particular application; if each task is […]

Continue Reading 1