Fun with Beagle – Exploring the GPU
Version 1.0: 21st January 2021
The purpose of this document is to explain how Imagination Technologies PowerVR SGXTM 530 Graphics Processing Unit (GPU) in the processor on the BeagleBone® Black (BBB) board can be used to enhance applications running on the main Arm® Cortex® A8 core.
This is both in the traditional role as a graphics renderer using OpenGL® ES and as an offload engine for tasks that can parallelised using OpenCLTM with a newly published library. The target audience are Hobbyists and Universities who wish to experiment and see if they can improve their embedded systems.
The focus in the document will be on the how to use the new OpenCLTM library and very importantly understand its strengths and weaknesses. This is done using a matrix multiplication example. With this understanding of the type of application that can benefit from an OpenCL offload to the SGX530, it then explains how to integrate OpenCLTM into an ALSA audio Sample Rate Convertor. This implementation can see the CPU load reduced from 55% to 20% by using OpenCL as long as the application can trade off latency.