RAFT

RAPIDS RAFT (Reusable Abstractions for Fundamental Tasks) is a library of highly optimised building blocks for developing machine learning (ML) and data analytics algorithms on GPUs.

It provides a set of reusable computational patterns that address common bottlenecks in these domains, making it easier for developers to create high-performance applications without worrying about low-level optimisations.

Key points about RAFT

Purpose

RAFT aims to remove common computational bottlenecks in ML and data analytics by providing highly optimised, reusable components that can be used as building blocks for developing new algorithms or accelerating existing libraries.

Categories

RAFT covers various categories, including data formats, dense and sparse operations, spatial operations (e.g., nearest neighbours), basic clustering, iterative solvers, and statistics.

Performance

RAFT components are continuously optimized for new GPU architectures, ensuring that developers always get the best performance out of their hardware without having to make low-level optimisations themselves.

Consistency

RAFT provides a consistent experience across different levels of the stack, from a header-only C++ template library to a shared library with precompiled template specializations and a Python API (PyLibRAFT).

Resource management

RAFT uses a raft::resources object to manage GPU-specific resources like CUDA streams, stream pools, and handles to various CUDA libraries, making it easier for developers to configure and manage these resources.

Multi-dimensional data

RAFT adopts the mdspan (multi-dimensional non-owning view) and mdarray (memory-owning counterpart to mdspan) from the C++23 STL standard, providing a clean and consistent API for representing and manipulating multi-dimensional data.

Interoperability

PyLibRAFT can interoperate with any library that supports the cuda_array_interface (CAI), such as PyTorch, CuPy, Numba, TensorFlow, and JAX, making it easy to integrate RAFT into existing workflows.

In summary, RAFT is a powerful tool for developers looking to create high-performance ML and data analytics applications on GPUs. By providing a set of highly optimized, reusable components and a consistent API across different levels of the stack, RAFT enables developers to focus on designing and developing their applications rather than worrying about low-level optimizations.

Last updated

Logo

Continuum - Accelerated Artificial Intelligence

Continuum WebsiteAxolotl Platform

Copyright Continuum Labs - 2023