-
Notifications
You must be signed in to change notification settings - Fork 130
Using all_neighbors
for mutual reachability
#1234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: branch-25.12
Are you sure you want to change the base?
Conversation
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
Excited to see how HDBSCAN scales! |
all_neighbors
for mutual reachabilityall_neighbors
for mutual reachability
198e7e9
to
032506d
Compare
raft::device_matrix_view<const float, int, raft::row_major> X, | ||
raft::device_matrix_view<const float, int64_t, raft::row_major> X, | ||
std::variant<linkage_graph_params::distance_params, | ||
linkage_graph_params::mutual_reachability_params> linkage_graph_params, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should probably add some docs for this new option and highlight how it differs from the distance_params.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm kind of confused here because the build_linkage
function already had two options (mutual reach and distance) for the params. We just have two different APIs now (one for host data and one for device data) 👀 The real new thing here is adding cuvs::neighbors::all_neighbors::all_neighbors_params
to mutual_reachability_params
@cjnolet @tarang-jain I've added what |
We definitely should document the mutual reachabilty feature in the linkage function itself and not expect users to look for themselves. It doesn't need to be exhaustive, but the docs for every argument should summarize the intention and purpose fo the argument. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! I yet have to read the new documentations for the APIs in this PR. But otherwise just pointing out some small changes.
Using
all_neighbors
mutual reachability feature to work towards deprecatingcuvs::neighbors::detail::reachability::mutual_reachability_graph
(related issue: #982).Also, changes
build_linkage
to useint64_t
, becauseall_neighbors::build
only supportsint64_t
types, and we will change HDBSCAN to useint64_t
types in cuML as well.This PR will break cuML (which will be solved by rapidsai/cuml#7104)
Waiting for #1016 to be merged.