Skip to content

Commit 0625256

Browse files
committed
centralized intermediate graph degree recommendation
1 parent 9118410 commit 0625256

3 files changed

Lines changed: 8 additions & 2 deletions

File tree

cpp/src/neighbors/detail/cagra/cagra_build.cuh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ void check_graph_degree(size_t& intermediate_degree, size_t& graph_degree, size_
6969
graph_degree = intermediate_degree;
7070
}
7171

72-
const size_t recommended_intermediate = graph_degree + ((graph_degree + 1) / 2);
72+
const size_t recommended_intermediate = recommended_intermediate_graph_degree(graph_degree);
7373
if (intermediate_degree < recommended_intermediate) {
7474
RAFT_LOG_WARN(
7575
"CAGRA: intermediate_graph_degree (%lu) is below the recommended minimum (%lu, i.e. "

cpp/src/neighbors/detail/cagra/graph_core.cuh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1679,7 +1679,8 @@ void prune_graph_gpu(
16791679
raft::copy(res, host_stats.view(), raft::make_const_mdspan(dev_stats.view()));
16801680
raft::resource::sync_stream(res);
16811681

1682-
const size_t recommended_intermediate = output_graph_degree + ((output_graph_degree + 1) / 2);
1682+
const size_t recommended_intermediate =
1683+
recommended_intermediate_graph_degree(output_graph_degree);
16831684
RAFT_EXPECTS(
16841685
invalid_neighbor_list == 0,
16851686
"CAGRA graph pruning failed: could not select graph_degree (%lu) distinct neighbors for "

cpp/src/neighbors/detail/cagra/utils.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,4 +301,9 @@ void copy_with_padding(
301301
}
302302
}
303303

304+
constexpr size_t recommended_intermediate_graph_degree(size_t graph_degree) noexcept
305+
{
306+
return graph_degree + ((graph_degree + 1) / 2);
307+
}
308+
304309
} // namespace cuvs::neighbors::cagra::detail

0 commit comments

Comments
 (0)