test(vector): tolerate SIMD distance rounding#7829
Merged
Conversation
Contributor
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: QUIET Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe vector index distance-range test now compares brute-force and index-based distances with a relative tolerance of ChangesVector distance testing
Estimated code review effort: 1 (Trivial) | ~2 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
BubbleCal
marked this pull request as ready for review
July 17, 2026 03:52
Xuanwo
approved these changes
Jul 17, 2026
wjones127
pushed a commit
that referenced
this pull request
Jul 21, 2026
## What is the bug? `test_vector_index_distance_range` requires exact equality between brute-force and indexed `float32` distances. The two paths can use different scalar and runtime-dispatched SIMD reduction orders, producing a few ULPs of rounding difference even when the results are equivalent. ## What issues does this cause? The test fails intermittently on x86 CI across unrelated changes, while the returned IDs, ordering, and distance-range checks all pass. ## How does this PR fix the problem? Use a relative tolerance of `1e-5` for the distance comparison while retaining `atol=0.0`. This matches the expected precision of the alternative `float32` kernels without weakening the range or result checks. ## Validation - `uv run pytest python/tests/test_vector_index.py::test_vector_index_distance_range -q` - `uv run make lint` Co-authored-by: Yang Cen <[email protected]> (cherry picked from commit c6d1b95)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What is the bug?
test_vector_index_distance_rangerequires exact equality between brute-force and indexedfloat32distances. The two paths can use different scalar and runtime-dispatched SIMD reduction orders, producing a few ULPs of rounding difference even when the results are equivalent.What issues does this cause?
The test fails intermittently on x86 CI across unrelated changes, while the returned IDs, ordering, and distance-range checks all pass.
How does this PR fix the problem?
Use a relative tolerance of
1e-5for the distance comparison while retainingatol=0.0. This matches the expected precision of the alternativefloat32kernels without weakening the range or result checks.Validation
uv run pytest python/tests/test_vector_index.py::test_vector_index_distance_range -quv run make lint