Skip to main content

cuKNN ⚡

GPU-Accelerated K-Nearest Neighbors using NVIDIA CUDA and CuPy

Python CUDA License

🚀 Overview

CuPy-KNN is a GPU accelerated implementation of the K-Nearest Neighbors algorithm powered by CuPy.

It provides a scikit-learn compatible API while exploiting NVIDIA GPUs for large-scale nearest neighbor search.

Designed for:

  • Machine Learning
  • Deep Learning embeddings
  • Computer Vision features
  • Bioinformatics embeddings
  • Large-scale similarity search

✨ Features

✅ GPU acceleration with CUDA
✅ Batch-based distance computation
✅ Multiple distance metrics:

  • Euclidean
  • Cosine
  • Manhattan

✅ sklearn-like API

  • fit()
  • predict()
  • predict_proba()
  • kneighbors()

✅ Supports large datasets
✅ Fully implemented with CuPy tensors

📦 Installation

Install from PyPI:

pip install cuknn

For CUDA-enabled systems install CuPy first:

pip install cupy-cuda12x

or select the version matching your CUDA installation.

⚡ Quick Start

from cuknn import KNN

from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split


X, y = make_classification(
    n_samples=100000,
    n_features=512,
    n_classes=5
)


X_train, X_test, y_train, y_test = train_test_split(
    X,
    y
)


model = KNN(
    k=5,
    distance="euclidean",
    batch_size=1024
)


model.fit(
    X_train,
    y_train
)


prediction = model.predict(
    X_test
)

📚 Citation

If you use cuKNN in your research:

@software{cupy_knn,
 author = {Calderaro, Salvatore},
 title = {cuKNN: GPU Accelerated K-Nearest Neighbors},
 year = {2026}
}

Metadata

Release files for cuknn 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cuknn 0.1.1
File Size Uploaded
cuknn-0.1.1.tar.gz 4.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cuknn 0.1.1
File Interpreter ABI Platform
cuknn-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 10.0 kB

Release files / cuknn-0.1.1.tar.gz

Download URL cuknn-0.1.1.tar.gz
Size 4.8 kB
Tags Source
SHA-256 checksum
How to use checksums
caa817fcdfe88c6de659048b2f306d8169dec9312c897484f138de2fe8b40465
BLAKE2b-256 checksum
How to use checksums
61d63cff528d22af0b15938d5117249528b02a718e5946af553a7a39587a49e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release files / cuknn-0.1.1-py3-none-any.whl

Download URL cuknn-0.1.1-py3-none-any.whl
Size 5.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a121aeab5a8d7d4165e853153ccce28523b2f94013b455215f7090f34d107914
BLAKE2b-256 checksum
How to use checksums
3c17f373355da3d6f798f8e2573d0856181ffa6bb9fb6ee8f6ea3b95bd0dc101
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page