5394

A CUDA-based parallel implementation of K-nearest neighbor algorithm

Shenshen Liang, Ying Liu, Cheng Wang, Liheng Jian
Graduate University of Chinese Academy of Sciences, Beijing, China
International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery, 2009. CyberC ’09

@inproceedings{liang2009cuda,

   title={A CUDA-based parallel implementation of K-nearest neighbor algorithm},

   author={Liang, S. and Liu, Y. and Wang, C. and Jian, L.},

   booktitle={Cyber-Enabled Distributed Computing and Knowledge Discovery, 2009. CyberC’09. International Conference on},

   pages={291–296},

   year={2009},

   organization={IEEE}

}

Source Source   

1031

views

Recent developments in Graphics Processing Units (GPUs) have enabled inexpensive high performance computing for general-purpose applications. Due to GPU’s tremendous computing capability, it has emerged as the co-processor of the CPU to achieve a high overall throughput. CUDA programming model provides the programmers adequate C language like APIs to better exploit the parallel power of the GPU. K-nearest neighbor (KNN) is a widely used classification technique and has significant applications in various domains, especially in text classification. The computational-intensive nature of KNN requires a high performance implementation. In this paper, we present a CUDA-based parallel implementation of KNN, CUKNN, using CUDA multi-thread model, where the data elements are processed in a data-parallel fashion. Various CUDA optimization techniques are applied to maximize the utilization of the GPU. CUKNN outperforms the serial KNN on an HP xw8600 workstation significantly, achieving up to 46.71X speedup including I/O time. It also shows good scalability when varying the dimension of the reference dataset, the number of records in the reference dataset, and the number of records in the query dataset.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2017 hgpu.org

All rights belong to the respective authors

Contact us: