https://github.com/lixk28/knn-cuda
https://github.com/lixk28/knn-cuda
cuda knn
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/lixk28/knn-cuda
- Owner: lixk28
- Created: 2022-06-16T09:07:22.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-05-04T07:16:24.000Z (about 2 years ago)
- Last Synced: 2025-02-07T10:15:52.983Z (over 1 year ago)
- Topics: cuda, knn
- Language: Cuda
- Homepage:
- Size: 32.8 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# GPU-accelerated k-nearest neighbors search
This repository contains our final project for DCS316: Multicore Programming lectured by [Prof. Tao (Jun Tao)](http://www.juntao.pro) at [Sun Yat-sen University](https://www.sysu.edu.cn/sysuen).
We reproduced and further optimized kNN algorithms proposed in the following papers:
- [Fast k Nearest Neighbor Search using GPU, Vincent Garcia](https://arxiv.org/pdf/0804.1448)
- [k-Nearest Neighbor Search: Fast GPU-Based Implementations and Application to High-Dimensional Feature Space, Vincent Garcia](https://vincentfpgarcia.github.io/data/Garcia_2010_ICIP.pdf)
There are 3 versions of kNN in our implementation:
1. kNN OpenMP
2. kNN CUDA
3. 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.