Repolode
NVIDIA

NVIDIA/raft

Biblioteca C++ header-only acelerada por CUDA, com wrappers em Python de primitivas reutilizáveis para machine learning, álgebra linear e recuperação de informação em GPUs NVIDIA.

Estrelas
1,052
Forks
256
Issues abertas
446
Último commit
há 24 horas

O que é?

RAFT é uma biblioteca de algoritmos e primitivas fundamentais para machine learning e recuperação de informação, com implementações aceleradas por CUDA que servem como blocos de construção para aplicações de alto desempenho em GPU. Ela abrange álgebra linear densa e esparsa, solvers, estatística e amostragem, cálculo de distâncias e conversões de formatos de dados, além de incluir uma infraestrutura de comunicação multi-node e multi-GPU.

RAFT é uma biblioteca de templates C++ header-only, com uma shared library opcional que pode reduzir o tempo de compilação para tipos de template comuns e expõe APIs de runtime que podem ser chamadas pelo host sem exigir um compilador CUDA. O gerenciamento de memória é feito por meio de recursos do CCCL ou NVIDIA RMM, e as entradas usam views mdspan com uma camada proprietária mdarray. Para usuários de Python, há o pacote pylibraft, que encapsula as APIs de runtime e aceita qualquer objeto compatível com __cuda_array_interface__, e o raft-dask, que disponibiliza algoritmos distribuídos para clusters Dask.

RAFT é voltada a desenvolvedores que criam bibliotecas e aplicações, e não a cientistas de dados que fazem análises exploratórias. Os pacotes são distribuídos pelo Conda e, em caráter experimental, pelo pip para CUDA 12 e 13.

Recursos principais

  • 01Biblioteca de templates C++ header-only, com uma shared library opcional para reduzir o tempo de compilação.
  • 02APIs de runtime que podem ser chamadas pelo host e não exigem um compilador CUDA.
  • 03Primitivas de álgebra linear densa e esparsa, solvers e estatística.
  • 04Wrappers em Python via pylibraft, interoperáveis com CuPy, PyTorch, Numba e cuDF.
  • 05Comunicação multi-node e multi-GPU por meio do raft-dask em clusters Dask.

Casos de uso

  • Criar componentes de busca vetorial ou de vizinhos mais próximos acelerados por GPU dentro de um sistema maior.
  • Escrever algoritmos CUDA personalizados que reutilizam primitivas testadas de álgebra linear e redução.
  • Executar algoritmos distribuídos em GPUs de vários nodes usando Dask.
  • Chamar primitivas de GPU a partir de Python sem escrever código CUDA.

Início rápido

  1. 1

    Instale o RAFT via conda (CUDA 13)

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

    Ou instale o pylibraft via pip (CUDA 12)

    pip install pylibraft-cu12

Antes de usar

  • Requer uma GPU NVIDIA com CUDA; não pode ser usado em máquinas apenas com CPU.
  • É voltado a primitivas de baixo nível, e não ao uso direto em ciência de dados.
  • Os pacotes pip são experimentais e não incluem cabeçalhos C++.

Em coleções

Tópicos

Perguntas frequentes

O que é raft?
Biblioteca C++ header-only acelerada por CUDA, com wrappers em Python de primitivas reutilizáveis para machine learning, álgebra linear e recuperação de informação em GPUs NVIDIA. RAFT é uma biblioteca de algoritmos e primitivas fundamentais para machine learning e recuperação de informação, com implementações aceleradas por CUDA que servem como blocos de construção para aplicações de alto desempenho em GPU. Ela abrange álgebra linear densa e esparsa, solvers, estatística e amostragem, cálculo de distâncias e conversões de formatos de dados, além de incluir uma infraestrutura de comunicação multi-node e multi-GPU.
raft é gratuito? Qual é a licença?
raft é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
raft ainda é mantido?
Manutenção ativa. O último commit de raft foi em 6 de nov. de 2026.
Para que posso usar raft?
Criar componentes de busca vetorial ou de vizinhos mais próximos acelerados por GPU dentro de um sistema maior. Escrever algoritmos CUDA personalizados que reutilizam primitivas testadas de álgebra linear e redução. Executar algoritmos distribuídos em GPUs de vários nodes usando Dask. Chamar primitivas de GPU a partir de Python sem escrever código CUDA.
Como instalar raft?
Instale o RAFT via conda (CUDA 13): mamba install -c rapidsai -c conda-forge raft-dask pylibraft cuda-version=13.3 Ou instale o pylibraft via pip (CUDA 12): pip install pylibraft-cu12
Onde consigo raft?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/NVIDIA/raft

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados