Repolode
NVIDIA

NVIDIA/raft

Biblioteca header-only de C++ acelerada con CUDA y wrappers de Python para primitivas reutilizables de machine learning, álgebra lineal y recuperación de información en GPUs NVIDIA.

Estrellas
1,052
Forks
256
Issues abiertos
446
Último commit
hace 13 horas

¿Qué es?

RAFT es una biblioteca de algoritmos y primitivas fundamentales para machine learning y recuperación de información, con implementaciones aceleradas con CUDA pensadas como componentes básicos para aplicaciones de GPU de alto rendimiento. Incluye álgebra lineal densa y dispersa, solvers, estadísticas y muestreo, cálculos de distancias y conversiones de formatos de datos, además de infraestructura de comunicación multinodo y multi-GPU.

RAFT es una biblioteca de plantillas de C++ header-only, con una biblioteca compartida opcional que puede reducir los tiempos de compilación para tipos de plantillas comunes y expone APIs de runtime invocables desde el host que no necesitan un compilador de CUDA. La memoria se gestiona mediante recursos de CCCL o NVIDIA RMM, y las entradas usan vistas mdspan con una capa propietaria mdarray. Los usuarios de Python disponen del paquete pylibraft, que envuelve las APIs de runtime y acepta cualquier objeto compatible con __cuda_array_interface__, y de raft-dask, que permite crear algoritmos distribuidos para GPU en clústeres de Dask.

RAFT está dirigido a desarrolladores que crean bibliotecas y aplicaciones, no a científicos de datos que realizan análisis exploratorios. Los paquetes se distribuyen mediante Conda y, de forma experimental, mediante pip para CUDA 12 y 13.

Funciones clave

  • 01Biblioteca de plantillas de C++ header-only con una biblioteca compartida opcional para acelerar la compilación.
  • 02APIs de runtime invocables desde el host que no requieren un compilador de CUDA.
  • 03Primitivas de álgebra lineal densa y dispersa, solvers y estadísticas.
  • 04Wrappers de Python mediante pylibraft, interoperables con CuPy, PyTorch, Numba y cuDF.
  • 05Comunicación multinodo y multi-GPU mediante raft-dask en clústeres de Dask.

Casos de uso

  • Crear componentes de búsqueda vectorial o de vecinos más cercanos acelerados con GPU dentro de un sistema más grande.
  • Escribir algoritmos CUDA personalizados que reutilicen primitivas probadas de álgebra lineal y reducción.
  • Ejecutar algoritmos distribuidos para GPU en varios nodos con Dask.
  • Invocar primitivas de GPU desde Python sin escribir código CUDA.

Inicio rápido

  1. 1

    Instala RAFT mediante conda (CUDA 13)

    mamba install -c rapidsai -c conda-forge raft-dask pylibraft cuda-version=13.3
  2. 2

    O instala pylibraft mediante pip (CUDA 12)

    pip install pylibraft-cu12

Antes de usarlo

  • Requiere una GPU NVIDIA con CUDA; no se puede usar en máquinas que solo tengan CPU.
  • Está pensado para primitivas de bajo nivel, no para su uso directo en ciencia de datos.
  • Los paquetes de pip son experimentales y no incluyen encabezados de C++.

En colecciones

Temas

Preguntas frecuentes

¿Qué es raft?
Biblioteca header-only de C++ acelerada con CUDA y wrappers de Python para primitivas reutilizables de machine learning, álgebra lineal y recuperación de información en GPUs NVIDIA. RAFT es una biblioteca de algoritmos y primitivas fundamentales para machine learning y recuperación de información, con implementaciones aceleradas con CUDA pensadas como componentes básicos para aplicaciones de GPU de alto rendimiento. Incluye álgebra lineal densa y dispersa, solvers, estadísticas y muestreo, cálculos de distancias y conversiones de formatos de datos, además de infraestructura de comunicación multinodo y multi-GPU.
¿raft es gratuito? ¿Qué licencia tiene?
raft es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿raft sigue mantenido?
Mantenimiento activo. El último commit de raft fue el 6 nov 2026.
¿Para qué puedo usar raft?
Crear componentes de búsqueda vectorial o de vecinos más cercanos acelerados con GPU dentro de un sistema más grande. Escribir algoritmos CUDA personalizados que reutilicen primitivas probadas de álgebra lineal y reducción. Ejecutar algoritmos distribuidos para GPU en varios nodos con Dask. Invocar primitivas de GPU desde Python sin escribir código CUDA.
¿Cómo se instala raft?
Instala RAFT mediante conda (CUDA 13): mamba install -c rapidsai -c conda-forge raft-dask pylibraft cuda-version=13.3 O instala pylibraft mediante pip (CUDA 12): pip install pylibraft-cu12
¿Dónde consigo raft?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/NVIDIA/raft

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados