An exciting development in the computing industry has been the emergence of graphics processing units (the GPU) as a fast general purpose co-processor. Initially designed for gaming applications, todays GPUs demonstrate impressive computing power and high levels of parallelism and are now being used for a variety of applications far removed from traditional graphics rendering settings.
Perhaps the most powerful use of the GPU has been in visualization, which couples the raw computing power of the GPU with its extensive capabilities for rendering scenes. The GPU provides the required computing power and real-time interactive rendering capabilities and there are now GPU-assisted algorithms for many fundamental problems in data visualization and analysis, including such basic primitives as matrix operations, FFTs, wavelet transforms, clustering and mining data streams.
This is an exciting and fast developing area, and the tools and technique are now mature enough that researchers with no experience in using the GPU can use it to develop new data mining tools. In this talk, I will introduce the audience to the GPU and the programming model it represents, describe the ways in which one can program the GPU, and demonstrate a set of data mining primitives that have been implemented effectively on the GPU.
This talk is drawn from a tutorial presented at KDD 2005 with Shankar Krishnan (AT&T Labs -- Research) and Sudipto Guha (University of Pennsylvania)