Tutorial: Data Visualization and Mining using the GPU


Presenters:

Sudipto Guha (University of Pennsylvania)
sudipto at cis.upenn.edu

Shankar Krishnan (AT&T Labs - Research)
krishnas at research.att.com

Suresh Venkatasubramanian (AT&T Labs -Research)
suresh at research.att.com

Abstract:

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. The purpose of this tutorial is to introduce the KDD 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.

Intended Audience:

This tutorial will be directed at a general KDD audience. No background in graphics or GPU programming will be assumed, and the lectures will focus on a a diverse set of applications, with detailed self-contained examples. The examples will naturally bring forth the programming paradigms used to implement data mining algorithms on the GPU.

Biographies:

Sudipto Guha is an assistant professor in the Computer Information Sciences Department, University of Pennsylvania. He has previously worked for AT&T Labs -- Research from 2000 to 2001 as a member of the technical staff after receiving his PhD from Stanford University. His research interests are primarily in design and analysis of algorithms for computation under constrained resources. He has worked in the fields of graph approximation algorithms for NP-hard problems, randomized algorithms and combinatorial optimization, efficient optimization in database query and mining, multi-pass data stream algorithms. He has authored several papers on data streams and is investigating the connections between mining data streams and the GPU.

Shankar Krishnan is a member of the Information Visualization department at AT&T Labs - Research. He received his Bachelor's degree in Computer Science from the Indian Institute of Technology, Madras in 1991. He received his M.S. and Ph.D. degrees in Computer Science from the University of North Carolina, Chapel Hill in 1993 and 1997, respectively. His main research interests include 3D computer graphics, data visualization, computational geometry, and graphics hardware-based algorithms. He has authored several papers and has given a number of technical presentations and tutorials on these topics in leading conferences in computer graphics, computational geometry and visualization. Shankar has presented (as part of a team) full-day courses on the topic of graphics hardware-based algorithms at ACM SIGGRAPH in 2002 and 2003.

Suresh Venkatasubramanian is a member of the Information and Visualization Department of AT&T Labs - Research. Prior to joining AT&T, he did his Ph.D at Stanford University in 1999. His research interests include computational geometry, algorithms, data mining and data streams, algorithms for the GPU, and information geometry. He has written a number of papers on GPU algorithms that have been presented at the Symposium on Computational Geometry, the Symposium on Discrete Algorithms, the Symposium on Interactive 3D Graphics, and the Workshop on General Purpose Computing with the GPU (GP2). He has given numerous talks on applications of the GPU, and is currently teaching a graduate level course at the University of Pennsylvania on GPU programming.

Webmaster: Michal Sabala