Repolode
NVIDIA

NVIDIA/raft

Header-only библиотека C++ с ускорением на CUDA и Python-обёртками для переиспользуемых примитивов машинного обучения, линейной алгебры и информационного поиска на GPU NVIDIA.

Звёзды
1,052
Форки
256
Открытые issues
446
Последний коммит
вчера

Что это?

RAFT — библиотека базовых алгоритмов и примитивов для машинного обучения и информационного поиска. Её реализации с ускорением на CUDA служат строительными блоками для высокопроизводительных приложений на GPU. Библиотека охватывает плотную и разреженную линейную алгебру, решатели, статистику и выборку, вычисление расстояний и преобразование форматов данных, а также включает инфраструктуру для обмена данными между несколькими узлами и GPU.

RAFT — шаблонная библиотека C++ без исходных файлов реализации; при желании можно подключить shared library, которая сокращает время компиляции для распространённых типов шаблонов и предоставляет runtime API, вызываемые с CPU без компилятора CUDA. Управление памятью осуществляется через ресурсы CCCL или NVIDIA RMM, а для входных данных используются представления mdspan с владеющим данными слоем mdarray. Для пользователей Python доступны пакет pylibraft, оборачивающий runtime API и поддерживающий любые объекты с интерфейсом __cuda_array_interface__, и raft-dask для распределённых алгоритмов на GPU в кластерах Dask.

RAFT предназначена для разработчиков библиотек и приложений, а не для специалистов по данным, проводящих исследовательский анализ. Пакеты распространяются через Conda, а в экспериментальном режиме — также через pip для CUDA 12 и 13.

Ключевые возможности

  • 01Шаблонная библиотека C++ без исходных файлов реализации с дополнительной shared library для ускорения компиляции.
  • 02Runtime API, вызываемые с CPU и не требующие компилятора CUDA.
  • 03Примитивы для плотной и разреженной линейной алгебры, решателей и статистики.
  • 04Python-обёртки pylibraft, совместимые с CuPy, PyTorch, Numba и cuDF.
  • 05Обмен данными между несколькими узлами и GPU через raft-dask в кластерах Dask.

Сценарии использования

  • Создание компонентов для поиска векторов или ближайших соседей с ускорением на GPU в составе более крупной системы.
  • Разработка собственных алгоритмов CUDA с повторным использованием проверенных примитивов линейной алгебры и редукции.
  • Запуск распределённых алгоритмов на GPU на нескольких узлах с помощью Dask.
  • Вызов GPU-примитивов из Python без написания кода CUDA.

Быстрый старт

  1. 1

    Установите RAFT через conda (CUDA 13)

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

    Или установите pylibraft через pip (CUDA 12)

    pip install pylibraft-cu12

Что важно знать

  • Требуется графический процессор NVIDIA с CUDA; на машинах только с CPU использовать нельзя.
  • Предназначен для низкоуровневых примитивов, а не для непосредственного использования в науке о данных.
  • Пакеты pip экспериментальные и не включают заголовочные файлы C++.

В подборках

Темы

Частые вопросы

Что такое raft?
Header-only библиотека C++ с ускорением на CUDA и Python-обёртками для переиспользуемых примитивов машинного обучения, линейной алгебры и информационного поиска на GPU NVIDIA. RAFT — библиотека базовых алгоритмов и примитивов для машинного обучения и информационного поиска. Её реализации с ускорением на CUDA служат строительными блоками для высокопроизводительных приложений на GPU. Библиотека охватывает плотную и разреженную линейную алгебру, решатели, статистику и выборку, вычисление расстояний и преобразование форматов данных, а также включает инфраструктуру для обмена данными между несколькими узлами и GPU.
raft можно использовать бесплатно? Какая у него лицензия?
raft распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
raft всё ещё поддерживается?
Активно поддерживается. Последний коммит в raft — 6 нояб. 2026 г..
Для чего можно использовать raft?
Создание компонентов для поиска векторов или ближайших соседей с ускорением на GPU в составе более крупной системы. Разработка собственных алгоритмов CUDA с повторным использованием проверенных примитивов линейной алгебры и редукции. Запуск распределённых алгоритмов на GPU на нескольких узлах с помощью Dask. Вызов GPU-примитивов из Python без написания кода CUDA.
Как установить raft?
Установите RAFT через conda (CUDA 13): mamba install -c rapidsai -c conda-forge raft-dask pylibraft cuda-version=13.3 Или установите pylibraft через pip (CUDA 12): pip install pylibraft-cu12
Где скачать raft?
Исходный код и инструкции по установке — на GitHub: https://github.com/NVIDIA/raft

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Библиотека на C++ и CLI для быстрого приближённого поиска ближайших соседей среди векторов высокой размерности с помощью графовых и древовидных индексов.

1,4 тыс.134C++Apache-2.0Активно поддерживаетсяОбновлён 23 часа назад