Multi-gpu KNN build for UMAP using all-neighbors API#6654
Multi-gpu KNN build for UMAP using all-neighbors API#6654rapids-bot[bot] merged 41 commits intorapidsai:branch-25.06from
Conversation
divyegala
left a comment
There was a problem hiding this comment.
The hints in Python docs are awesome. But again, there is no choice for a user of UMAP to select multi-GPU build. We must not do this automatically.
I am working on multi-gpu resource on raft side. Currently the plan is to wrap this in pylibraft and advise users to explicitly pass this as the If nothing is passed to the handle, then the default handle will be used, and this results in a single-gpu run. Do you think there is a better way to let users do a multi-gpu build? Any advice would be greatly appreciated : ) |
|
@jinsolp thanks for the explanation, that API looks good to me. Opt-in behavior is perfect. We need to be very explicit about the fact that this is not multi-GPU UMAP but rather multi-GPU KNN step in UMAP. That's because users of cuml-dask expect that their data can be distributed across GPUs and we would still be able to create a learned ML model, but in this use-case data will need to be on a single-GPU for other parts of UMAP. |
d2383e9 to
888dd7a
Compare
viclafargue
left a comment
There was a problem hiding this comment.
Thanks @jinsolp! Just two small comments
|
I would like to review this PR prior to merge. |
|
@jcrist Can you approve this PR assuming that your concerns were addressed? |
|
Changed docs (content staying almost same, change in style) in .pyx file because of docs build failure in CI |
divyegala
left a comment
There was a problem hiding this comment.
This PR is blocked on some changes from rapidsai/cuvs#944
csadorf
left a comment
There was a problem hiding this comment.
A combination of nnd_n_clusters>1 and data_on_host=False (the default) will currently break user code, because batching is not supported on device.
Agreed mitigation approach is to auto-set data_on_host=True with a deprecation warning in 25.06 and then require data_on_host=True in combination with nnd_n_clusters>1 as of 25.08.
csadorf
left a comment
There was a problem hiding this comment.
Just a tiny suggestion for language, otherwise LGTM.
|
/merge |
Description
Allows multi-gpu knn graph building in UMAP using the all-neighbors API.
PRs that need to be merged before this one
device_resources_snmgraft#2666Changes in cuML UMAP usage
Closes #6729