This repository contains our final project for DCS316: Multicore Programming lectured by Prof. Tao (Jun Tao) at Sun Yat-sen University.
We reproduced and further optimized kNN algorithms proposed in the following papers:
- Fast k Nearest Neighbor Search using GPU, Vincent Garcia
- k-Nearest Neighbor Search: Fast GPU-Based Implementations and Application to High-Dimensional Feature Space, Vincent Garcia
There are 3 versions of kNN in our implementation:
- kNN OpenMP
- kNN CUDA
- kNN CUBLAS (accelerated by
cublasSgemm
based on kNN CUDA)
CUBLAS version is way more faster than CUDA version for high dimensional data, and it's our best implementation for GPU-accelerated kNN.