{"data":{"slug":"nvidia-raft","name":"raft","tagline":"A collection of CUDA-accelerated algorithms for building high-performance machine learning and information retrieval applications.","github_url":"https://github.com/NVIDIA/raft","owner":"NVIDIA","repo":"raft","owner_avatar_url":"https://avatars.githubusercontent.com/u/1728152?v=4","primary_language":"Cuda","stars":1036,"forks":248,"topics":["anns","building-blocks","clustering","cuda","distance","gpu","information-retrieval","linear-algebra","llm","machine-learning","nearest-neighbors","neighborhood-methods","primitives","random-sampling","solvers","sparse","statistics","vector-search","vector-similarity","vector-store"],"archived":false,"github_pushed_at":"2026-08-22T03:19:21+00:00","maintenance_label":"Very active","stars_delta_30d":5,"url":"https://www.graphcanon.com/tools/nvidia-raft","markdown_url":"https://www.graphcanon.com/tools/nvidia-raft.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/nvidia-raft","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=nvidia-raft","description":"RAFT contains fundamental widely-used algorithms and primitives for machine learning and information retrieval. The algorithms are CUDA-accelerated and form building blocks for more easily writing high performance applications.","homepage_url":"https://docs.rapids.ai/api/raft/stable/","license":"Apache-2.0","open_issues":446,"watchers":23,"ai_summary":"RAFT offers a suite of GPU-accelerated primitives and algorithms crucial for developing high-speed ML models and retrieval systems, utilizing the power of NVIDIA GPUs through CUDA.","readme_excerpt":"# <div align=\"left\"><img src=\"https://rapids.ai/assets/images/rapids_logo.png\" width=\"90px\"/>&nbsp;RAFT: Reusable Accelerated Functions and Tools</div>\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/rapidsai/raft/HEAD/img/raft-tech-stack.svg\" alt=\"RAFT tech stack\" width=\"100%\">\n</p>\n\n\n\n## Contents\n<hr>\n\n1. [Useful Resources](#useful-resources)\n2. [What is RAFT?](#what-is-raft)\n2. [Use cases](#use-cases)\n3. [Is RAFT right for me?](#is-raft-right-for-me)\n4. [Getting Started](#getting-started)\n5. [Installing RAFT](#installing)\n6. [Codebase structure and contents](#folder-structure-and-contents)\n7. [Contributing](#contributing)\n8. [References](#references)\n\n<hr>\n\n## Useful Resources\n\n- [RAFT Reference Documentation](https://docs.rapids.ai/api/raft/stable/): API Documentation.\n- [RAFT Getting Started](./docs/source/quick_start.md): Getting started with RAFT.\n- [Build and Install RAFT](./docs/source/build.md): Instructions for installing and building RAFT.\n- [RAPIDS Community](https://rapids.ai/community.html): Get help, contribute, and collaborate.\n- [GitHub repository](https://github.com/rapidsai/raft): Download the RAFT source code.\n- [Issue tracker](https://github.com/rapidsai/raft/issues): Report issues or request features.\n\n\n\n## What is RAFT?\n\nRAFT contains fundamental widely-used algorithms and primitives for machine learning and data mining. The algorithms are CUDA-accelerated and form building blocks for more easily writing high performance applications.\n\nBy taking a primitives-based approach to algorithm development, RAFT\n- accelerates algorithm construction time\n- reduces the maintenance burden by maximizing reuse across projects, and\n- centralizes core reusable computations, allowing future optimizations to benefit all algorithms that use them.\n\nWhile not exhaustive, the following general categories help summarize the accelerated functions in RAFT:\n#####\n| Category              | Accelerated Functions in RAFT                                                                                                     |\n|-----------------------|-----------------------------------------------------------------------------------------------------------------------------------|\n| **Data Formats**      | sparse & dense, conversions, data generation                                                                                      |\n| **Dense Operations**  | linear algebra, matrix and vector operations, reductions, slicing, norms, factorization, least squares, svd & eigenvalue problems |\n| **Sparse Operations** | linear algebra, eigenvalue problems, slicing, norms, reductions, factorization, symmetrization, components & labeling             |\n| **Solvers**           | combinatorial optimization, iterative solvers                                                                                     |\n| **Statistics**        | sampling, moments and summary statistics, metrics, model evaluation                                                               |\n| **Tools & Utilities** | common tools and utilities for developing CUDA applications, multi-node multi-gpu infrastructure                                  |\n\n\nRAFT is a C++ header-only template library with an optional shared library that\n1) can speed up compile times for common template types, and\n2) provides host-accessible \"runtime\" APIs, which don't require a CUDA compiler to use\n\nIn addition being a C++ library, RAFT also provides 2 Python libraries:\n- `pylibraft` - lightweight Python wrappers around RAFT's host-accessible \"runtime\" APIs.\n- `raft-dask` - multi-node multi-GPU communicator infrastructure for building distributed algorithms on the GPU with Dask.\n\n\n\n\n## Is RAFT right for me?\n\nRAFT contains low-level primitives for accelerating applications and workflows. Data source providers and application developers may find specific tools very useful. RAFT is not intended to be used directly by data scientists for discovery and experimentation. For data science","github_created_at":"2019-06-13T14:32:40+00:00","created_at":"2026-07-11T11:34:37.472883+00:00","updated_at":"2026-08-23T06:02:03.252817+00:00","categories":[{"slug":"data-retrieval","name":"Data & Retrieval","url":"https://www.graphcanon.com/categories/data-retrieval","markdown_url":"https://www.graphcanon.com/categories/data-retrieval.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/data-retrieval"},{"slug":"model-training","name":"Model Training","url":"https://www.graphcanon.com/categories/model-training","markdown_url":"https://www.graphcanon.com/categories/model-training.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/model-training"}],"tags":[{"slug":"anns","name":"anns"},{"slug":"building-blocks","name":"building-blocks"},{"slug":"clustering","name":"clustering"},{"slug":"cuda","name":"cuda"},{"slug":"distance","name":"distance"},{"slug":"gpu","name":"gpu"},{"slug":"information-retrieval","name":"information-retrieval"},{"slug":"linear-algebra","name":"linear-algebra"}],"trust":{"provenance":{"is_fork":false,"github_id":191779319,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-08-23T06:02:02.506Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":2,"days_since_push":1,"last_release_at":"2026-08-05T18:53:54Z","stars_delta_30d":5,"open_issues_delta_30d":2},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T11:34:39.065Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-08-23T06:02:02.949Z"},"languages":{"value":["cuda","python"],"source":"github.language+pyproject.toml","observed_at":"2026-08-23T06:02:02.949Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-08-23T06:02:02.949Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":{"notes":["Ensure access to NVIDIA GPUs","Compatibility with CUDA is essential for utilizing the RAFT algorithms effectively.","The user must have familiarity or develop understanding of CUDA programming to optimize their application integration with RAFT."]},"constraints":null,"when_to_use":["- You are developing on an NVIDIA GPU architecture and require optimized, CUDA-accelerated primitives.","- The project involves extensive linear algebra operations or vector similarity calculations that would benefit from GPU acceleration."],"when_not_to_use":["- Your application does not have access to NVIDIA GPUs, as RAFT's algorithms leverage CUDA specifically for performance gains.","- If your workload requires more generalized machine learning libraries without a dependency on GPU-accelerated primitives and you are working in a multi-platform or cross-vendor environment."],"source":"enrich:decision_facts","observed_at":"2026-07-12T17:40:11.496Z"},"constraint_facets":null,"decision_summary":[{"label":"Requirements","value":"Ensure access to NVIDIA GPUs; Compatibility with CUDA is essential for utilizing the RAFT algorithms effectively.; The user must have familiarity or develop understanding of CUDA programming to optimize their application integration with RAFT."},{"label":"Adopt for","value":"RAFT is a collection of CUDA-accelerated algorithms for high-performance machine learning and information retrieval applications."}]}}