Although trivial background subtraction algorithms (such as temporal averaging) can execute quite quickly, they do not give useful results in most situations. More complex algorithms usually provide better results, but are typically too slow for widespread use. Here, we examine the architecture of the GPU and describe how a multimodal background subtraction algorithm can be implemented on graphics hardware to provide useful results in real-time.