You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are keeping random ball cover headers in RAFT for 24.12, and random ball cover depends on distances and brute-force. Because of this, we're going to leave all of the VSS headers in RAFT for the time being, and will remove them all in a future PR once RBC is formally migrated to cuVS. The tests, benchmarks, and instantiations for all of these APIs will be removed, though, so while the actual headers can still be used, they are no longer being tested and could fail without warning.
I've also included a note to users in the README about this, stating to use at their own risk.
Authors:
- Corey J. Nolet (https://github.com/cjnolet)
- Bradley Dice (https://github.com/bdice)
Approvers:
- Ben Frederickson (https://github.com/benfred)
- Bradley Dice (https://github.com/bdice)
URL: #2498
Copy file name to clipboardExpand all lines: README.md
+10-16Lines changed: 10 additions & 16 deletions
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
# <divalign="left"><imgsrc="https://rapids.ai/assets/images/rapids_logo.png"width="90px"/> RAFT: Reusable Accelerated Functions and Tools for Vector Search and More</div>
2
2
3
3
> [!IMPORTANT]
4
-
> The vector search and clustering algorithms in RAFT are being migrated to a new library dedicated to vector search called [cuVS](https://github.com/rapidsai/cuvs). We will continue to support the vector search algorithms in RAFT during this move, but will no longer update them after the RAPIDS 24.06 (June) release. We plan to complete the migration by RAPIDS 24.10 (October) release and will be removing them altogether in the 24.12 (December) release.
4
+
> The vector search and clustering algorithms in RAFT have been formally migrated to a new library dedicated to vector search called [cuVS](https://github.com/rapidsai/cuvs). The headers for the vector search and clustering algorithms in RAFT will remain for a bried period, but will no longer be tested, benchmarked, included in the pre-compiled libraft binary, or otherwise updated after the 24.12 (December 2024) release. We will be removing these headers altogether in a future release. It is strongly suggested to use cuVS for these routines, which include any headers in the `distance`, `neighbors`, `cluster` and `spatial` directories, and use the RAFT versions at your own risk.
5
5
6
6

7
7
@@ -27,7 +27,6 @@
27
27
-[RAFT Reference Documentation](https://docs.rapids.ai/api/raft/stable/): API Documentation.
28
28
-[RAFT Getting Started](./docs/source/quick_start.md): Getting started with RAFT.
29
29
-[Build and Install RAFT](./docs/source/build.md): Instructions for installing and building RAFT.
30
-
-[Example Notebooks](./notebooks): Example jupyter notebooks
31
30
-[RAPIDS Community](https://rapids.ai/community.html): Get help, contribute, and collaborate.
32
31
-[GitHub repository](https://github.com/rapidsai/raft): Download the RAFT source code.
33
32
-[Issue tracker](https://github.com/rapidsai/raft/issues): Report issues or request features.
@@ -120,13 +119,13 @@ auto metric = raft::distance::DistanceType::L2SqrtExpanded;
It's also possible to create `raft::device_mdspan` views to invoke the same API with raw pointers and shape information:
122
+
It's also possible to create `raft::device_mdspan` views to invoke the same API with raw pointers and shape information. Take this example from the [NVIDIA cuVS](https://github.com/rapidsai/cuvs) library:
124
123
125
124
```c++
126
125
#include <raft/core/device_resources.hpp>
127
126
#include <raft/core/device_mdspan.hpp>
128
127
#include <raft/random/make_blobs.cuh>
129
-
#include <raft/distance/distance.cuh>
128
+
#include <cuvs/distance/distance.hpp>
130
129
131
130
raft::device_resources handle;
132
131
@@ -147,21 +146,21 @@ auto output_view = raft::make_device_matrix_view(output, n_samples, n_samples);
The `pylibraft` package contains a Python API for RAFT algorithms and primitives. `pylibraft` integrates nicely into other libraries by being very lightweight with minimal dependencies and accepting any object that supports the `__cuda_array_interface__`, such as [CuPy's ndarray](https://docs.cupy.dev/en/stable/user_guide/interoperability.html#rmm). The number of RAFT algorithms exposed in this package is continuing to grow from release to release.
158
157
159
-
The example below demonstrates computing the pairwise Euclidean distances between CuPy arrays. Note that CuPy is not a required dependency for `pylibraft`.
158
+
The example below demonstrates computing the pairwise Euclidean distances between CuPy arrays using the [NVIDIA cuVS](https://github.com/rapidsai/cuvs) library. Note that CuPy is not a required dependency for `pylibraft`.
@@ -230,7 +229,6 @@ RAFT's C++ and Python libraries can both be installed through Conda and the Pyth
230
229
231
230
The easiest way to install RAFT is through conda and several packages are provided.
232
231
-`libraft-headers` C++ headers
233
-
-`libraft` (optional) C++ shared library containing pre-compiled template instantiations and runtime API.
234
232
-`pylibraft` (optional) Python library
235
233
-`raft-dask` (optional) Python library for deployment of multi-node multi-GPU algorithms that use the RAFT `raft::comms` abstraction layer in Dask clusters.
236
234
@@ -253,8 +251,6 @@ You can also install the conda packages individually using the `mamba` command a
If installing the C++ APIs please see [using libraft](https://docs.rapids.ai/api/raft/nightly/using_libraft/) for more information on using the pre-compiled shared library. You can also refer to the [example C++ template project](https://github.com/rapidsai/raft/tree/branch-24.12/cpp/template) for a ready-to-go CMake configuration that you can drop into your project and build against installed RAFT development artifacts above.
257
-
258
254
### Installing Python through Pip
259
255
260
256
`pylibraft` and `raft-dask` both have experimental packages that can be [installed through pip](https://rapids.ai/pip.html#install):
These packages statically build RAFT's pre-compiled instantiations and so the C++ headers and pre-compiled shared library won't be readily available to use in your code.
262
+
These packages statically build RAFT's pre-compiled instantiations and so the C++ headers won't be readily available to use in your code.
267
263
268
264
The [build instructions](https://docs.rapids.ai/api/raft/nightly/build/) contain more details on building RAFT from source and including it in downstream projects. You can also find a more comprehensive version of the above CPM code snippet the [Building RAFT C++ and Python from source](https://docs.rapids.ai/api/raft/nightly/build/#building-c-and-python-from-source) section of the build instructions.
269
265
270
-
You can find an example [RAFT project template](cpp/template/README.md) in the `cpp/template` directory, which demonstrates how to build a new application with RAFT or incorporate RAFT into an existing CMake project.
271
-
272
266
273
267
## Contributing
274
268
@@ -282,7 +276,7 @@ When citing RAFT generally, please consider referencing this Github project.
282
276
title={Rapidsai/raft: RAFT contains fundamental widely-used algorithms and primitives for data science, Graph and machine learning.},
0 commit comments