The University of Queensland Homepage
School of ITEE ITEE Main Website

 GPGPU

General-Purpose graphics processor

The general idea

Graphics processing units (GPUs) have very fast memory interfaces and, in higher-end models, a very large amount of parallelism. This makes them tempting targets for implementing compute-intensive tasks on the cheap.

However, they are not designed to be programmed with a general-purpose workload. Also, rendering 3D graphics is not accuracy-critical (the odd incorrect pixel is not noticeable within limits) so the floating-point implementation may lack accuracy compared with a conventional processor.

The challenge

Understanding the programming model as well as limitations of the instruction set will be interesting. Issues you will need to consider include

  • focussing on one specific range of GPUs where documentation is available
  • understanding the programming model and its limitations
  • analysing the potential for performance gains taking into account extra overheads like communication with the GPU
  • working through an example of significant size to clarify the issues

The programming tools in this area are a work in progress so a complete working implementation while desirable is not essential, so be prepared to do an analytical evaluation.