Skip to content

Commit 079fd55

Browse files
divyegalafacebook-github-bot
authored andcommitted
Fix seg faults in CAGRA C++ unit tests (facebookresearch#3552)
Summary: The issue was that `uniform_int_distribution` generates numbers in the range `[0, ntotal]` and not `[0, ntotal)`, which was an oversight on my part. This PR also attempts to reduce the tolerance for `copyTo` tests as we have seen those fail intermittently. cc ramilbakhshyiev mdouze cjnolet Pull Request resolved: facebookresearch#3552 Reviewed By: junjieqi Differential Revision: D59097786 Pulled By: ramilbakhshyiev fbshipit-source-id: 9dac4367e25c6c219b116ed172089a2fa2a39c4f
1 parent 33c0ba5 commit 079fd55

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

faiss/IndexHNSW.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -948,7 +948,7 @@ void IndexHNSWCagra::search(
948948

949949
std::random_device rd;
950950
std::mt19937 gen(rd());
951-
std::uniform_int_distribution<idx_t> distrib(0, this->ntotal);
951+
std::uniform_int_distribution<idx_t> distrib(0, this->ntotal - 1);
952952

953953
for (idx_t j = 0; j < num_base_level_search_entrypoints; j++) {
954954
auto idx = distrib(gen);

faiss/gpu/test/TestGpuIndexCagra.cu

+3-3
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ void queryTest(faiss::MetricType metric, double expected_recall) {
182182
recall_score.view(),
183183
test_dis_mds_opt,
184184
ref_dis_mds_opt);
185-
ASSERT_TRUE(*recall_score.data_handle() > expected_recall);
185+
ASSERT_GT(*recall_score.data_handle(), expected_recall);
186186
}
187187
}
188188

@@ -330,7 +330,7 @@ void copyToTest(
330330
recall_score.view(),
331331
copy_ref_dis_mds_opt,
332332
ref_dis_mds_opt);
333-
ASSERT_TRUE(*recall_score.data_handle() > expected_recall);
333+
ASSERT_GT(*recall_score.data_handle(), expected_recall);
334334
}
335335
}
336336

@@ -452,7 +452,7 @@ void copyFromTest(faiss::MetricType metric, double expected_recall) {
452452
recall_score.view(),
453453
copy_test_dis_mds_opt,
454454
test_dis_mds_opt);
455-
ASSERT_TRUE(*recall_score.data_handle() > expected_recall);
455+
ASSERT_GT(*recall_score.data_handle(), expected_recall);
456456
}
457457
}
458458

0 commit comments

Comments
 (0)