A compiler and runtime system for enabling data mining applications on GPUs

Wenjing Ma, Gagan Agrawal

Research output: Contribution to journalArticlepeer-review

2 Scopus citations


With increasing need for accelerating data mining and scientific data analysis on large data sets, and less chance to improve processor performance by simply increasing clock frequencies, multicore architectures and accelerators like FPGAs and GPUs have become popular. A recent development in using GPU for general computing has been the release of CUDA (Compute Unified Device Architecture) by NVIDIA. CUDA allows GPU programming with C language-like features, thus easing the development of nongraphics applications on a GPU. However, several challenges still remain in programming the GPUs with CUDA, because CUDA involves explicit parallel programming and management of its complex memory hierarchy, as well as allocating device memory, moving data between CPU and device memory, and specification of thread grid configurations. In this paper, we offer a solution for the programmers to generate CUDA code by specifying the sequential reduction loop(s) with some information about the parameters.With program analysis and code generation, the applications are mapped to a GPU. Several additional optimizations are also performed by the middleware. We have evaluated our system using three popular data mining applications, k-means clustering, EM clustering, and Principal Component Analysis (PCA). The speedup that each of these applications achieve over a sequential CPU version ranges between 20 and 50.

Original languageEnglish (US)
Pages (from-to)287-288
Number of pages2
JournalACM SIGPLAN Notices
Issue number4
StatePublished - 2009
Externally publishedYes
Eventthe 14th ACM SIGPLAN symposium - Raleigh, NC, USA
Duration: Feb 14 2009Feb 18 2009


  • CUDA
  • Data mining

ASJC Scopus subject areas

  • Computer Science(all)


Dive into the research topics of 'A compiler and runtime system for enabling data mining applications on GPUs'. Together they form a unique fingerprint.

Cite this