-
Notifications
You must be signed in to change notification settings - Fork 446
PiPNN 2/6: add numerical kernels #1287
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
Open
Open
Changes from 77 commits
Commits
Show all changes
91 commits
Select commit
Hold shift + click to select a range
016c05b
linalg: add fallible lower-triangular AAT kernel
SeliMeli 3a17722
pipnn: add dispatched numerical kernels
SeliMeli b5ae8cf
pipnn: benchmark and exercise numerical kernels
SeliMeli 7989964
pipnn: harden kernel coverage and benchmarks
SeliMeli 07cff8c
fix(pipnn): accept finite maximum distances
SeliMeli 2efc9f6
refactor(pipnn): make kernels architecture-neutral
SeliMeli c3c1f72
fix(pipnn): preserve NaN distances across SIMD backends
SeliMeli 6fef417
docs(pipnn): explain numerical kernel invariants
SeliMeli ce0293f
test(pipnn): name SIMD metric boundary matrices
SeliMeli c73fe3b
fix(pipnn): preserve dispatched kernel semantics
SeliMeli 27ff456
style(wide): format array trait bounds
SeliMeli 16f733d
fix(pipnn): address kernel review feedback
SeliMeli ac29cb8
refactor(pipnn)!: prepare kernel dispatch
SeliMeli 8e63abb
docs(pipnn): describe full crate scope
SeliMeli 045f012
docs(pipnn): map dispatch hot paths
SeliMeli 0d2a8d9
test(pipnn): confine traversal references
SeliMeli 6fef94d
refactor(pipnn): name metric visitor by action
SeliMeli f97ca93
refactor(pipnn): carry dynamic leaf width
SeliMeli 47dcb74
refactor(pipnn)!: clarify point and neighbor roles
SeliMeli 844a50c
docs(pipnn): explain kernel pipeline
SeliMeli 36c1763
docs(pipnn): state cosine threshold
SeliMeli 161965f
refactor(pipnn): move kernels into diskann graph
SeliMeli e8cb9c7
test(pipnn): document fixture panic policy
SeliMeli c0d15a2
ci(pipnn): cover the in-crate feature
SeliMeli f671b78
bench(pipnn): add IAI kernel microbenchmarks
SeliMeli 32f323c
fix(ci): use workspace feature name for pipnn
SeliMeli 0f31011
fix(ci): validate every stacked layer
SeliMeli 80c9f33
ci(pipnn): run IAI and ARM feature gates
SeliMeli 0ce4ef3
test(pipnn): keep regression tooling local
SeliMeli ace78ab
ci(pipnn): validate numerical feature
SeliMeli 699c601
fix(pipnn): enforce SIMD safety invariants
SeliMeli b01f0b9
refactor(pipnn): pass leaf matrices directly
SeliMeli a21ee9c
refactor(pipnn): cap leaf kernel at k three
SeliMeli 4182625
fix(pipnn): return errors for invalid leaf widths
SeliMeli 66f51bf
fix(utils): reject overflowing matrix shapes
SeliMeli ae89cf7
refactor(pipnn): trust validated matrix views
SeliMeli af4470b
perf(pipnn): retain measured fixed-k insertion
SeliMeli f20581a
docs(pipnn): remove stale dynamic-k reference
SeliMeli 0826436
refactor(pipnn): constrain SIMD lanes locally
SeliMeli d2beeee
refactor(pipnn): remove stored kernel pointers
SeliMeli c3bf708
test(pipnn): cover runtime partition fanout
SeliMeli 0a16a62
refactor(pipnn): make kernels generic-only
SeliMeli cfdfc3c
refactor(pipnn): keep numerical kernels private
SeliMeli 0e3e055
refactor(pipnn): use default kernel workspaces
SeliMeli 9a08dc2
docs(pipnn): align kernel comments with implementation
SeliMeli 8499c7d
docs(pipnn): remove kernel performance notes
SeliMeli dc06de7
refactor(pipnn): report partition underfill locally
SeliMeli 0db9350
refactor(pipnn): remove unused leaf output helper
SeliMeli dfc7914
refactor(pipnn): remove kernel assertions
SeliMeli efa4ea6
docs(pipnn): state partition row contract
SeliMeli 89a750c
refactor(pipnn): name kernel responsibilities
SeliMeli a6729df
docs(pipnn): define partition leader semantics
SeliMeli 2c15a65
docs(pipnn): state norm conversion behavior
SeliMeli 22787fd
refactor(pipnn): name fixed-width leaf scan
SeliMeli 64963c5
docs(pipnn): remove type-restatement comments
SeliMeli c069460
docs(pipnn): describe leaf insertion by domain role
SeliMeli 185db44
refactor(pipnn): name kernel test helpers
SeliMeli 578ab9f
refactor(pipnn): inline fixed-width leaf dispatch
SeliMeli 3f54a31
refactor(pipnn): inline leader ID publication
SeliMeli 70ce8e2
refactor(matrix): preserve constructor behavior
SeliMeli 47c2089
refactor(pipnn): split stage metric contracts
SeliMeli 44572dd
perf(pipnn): specialize stage norm handling
SeliMeli 6bc1a96
docs(pipnn): use active metric comments
SeliMeli 640cd7d
test(pipnn): use norm-specific terminology
SeliMeli 552c481
perf(pipnn): bound leaf SIMD prefix once
SeliMeli 9fa980e
refactor(pipnn): remove metric tag indirection
SeliMeli b42285b
docs(pipnn): keep metric comments factual
SeliMeli 2592d70
refactor(pipnn): pass prepared norms to kernels
SeliMeli ac6e174
perf(pipnn): specialize prepared norm layouts
SeliMeli 6c3d912
perf(pipnn): reuse each leaf source norm
SeliMeli 3ff5e3c
refactor(pipnn): name prepared norm layouts
SeliMeli 057873b
refactor(pipnn): make metric types prepare norms
SeliMeli c06d42c
refactor(pipnn): move norm policy into metric types
SeliMeli bb25e6f
test(utils): cover zero-wrapping matrix area
SeliMeli 45364af
refactor(pipnn): give metrics exact ranking inputs
SeliMeli 8913a72
refactor(pipnn): deepen numerical kernels
SeliMeli 01e5148
fix(pipnn): mark unrankable kernel slots
SeliMeli 0f1e47b
refactor(pipnn): centralize SIMD schema
SeliMeli 286f558
refactor(pipnn): specialize sorted insertion
SeliMeli 1fb768b
test(pipnn): clarify numerical contracts
SeliMeli 5cbb554
test(pipnn): use semantic numerical fixtures
SeliMeli 2c094e5
refactor(wide): keep lane arrays read-only
SeliMeli 7275bfe
test(pipnn): clarify norm test names
SeliMeli 01ab58d
test(pipnn): cover SIMD and insertion contracts
SeliMeli a2d3982
refactor(pipnn): use one SIMD vector type
SeliMeli 39db2f7
test(pipnn): expose production kernel calls
SeliMeli 872a1d4
fix(pipnn): align metric edge cases
SeliMeli 1d141c1
docs(pipnn): correct leaf width contract
SeliMeli cba31c9
ci(pipnn): run kernels under Miri
SeliMeli 8159f38
test(pipnn): cover kernel behavior contracts
SeliMeli e381345
refactor(pipnn): localize SIMD lane bounds
SeliMeli File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
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
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
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
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.