Repository navigation
Parallelize exact KD-tree construction and resident GICP preparation - #176
Merged
Merged
Conversation
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.
Resident GPU GICP still builds KD-trees serially before staging. Add explicit
KdTree::from_slices_parallel/from_point_cloud_parallelunder searchparallel, and use that preparation in resident GICP methods. Large native trees use bounded scoped workers over disjoint point/node ranges in one exact-sized preorder array; canonical axis/partition code retains point permutation, split bits and query ties.Below 32,768 points, one useful worker or WASM uses the existing serial constructor. Ordinary constructors and CPU GICP keep serial placement. No unsafe, per-worker trees, node merge, production dependency or GPU shader changes are introduced. Workers are bounded per call by available CPUs and one per 16,384 points; this is not a process-wide thread budget.
Validation:
Full methodology, every timing result and limitations: parallel KD-tree evidence.