Unlocking the graphics power of the Raspberry Pi

From Computer Laboratory Group Design Projects
Jump to navigationJump to search

Client: Milos Puzovic, MathWorks <Milos.Puzovic@mathworks.co.uk>

The Raspberry Pi has become incredibly popular, and it's great for hobby applications, but its appeal to children is reduced by the fact that it's a little slow (for example, the Pi Edition of Minecraft doesn't support mobile characters). However, most applications are using only a fraction of its computational power. The good news is that the Raspberry Pi's System-On-Chip BCM2835 has a hidden gem: a Graphics Processing Unit (GPU) that can significantly improve performance of applications that use large blocks of data. At the moment, the GPU on Raspberry Pi is heavily underutilised. Your task is to enable applications written in the MATLAB language and models designed in Simulink to exploit the Raspberry Pi GPU. As a demonstration of what can be achieved, it should be possible to implement high performance game physics such as real time cloth dynamics on a human character with moving clothes and hair (created using MATLAB and Simulink toolboxes). It's your choice whether this is a mobile character in a sandbox game, a narrative cut-scene, or even an intelligent avatar such as the Zoe talking head. Contact the client for access to the Simulink target development tools, and advice on the GPU porting process.