k-d tree speedup (nanoflann / CUDA)#5299
Open
yasamoka wants to merge 5 commits intoPointCloudLibrary:masterfrom
Open
k-d tree speedup (nanoflann / CUDA)#5299yasamoka wants to merge 5 commits intoPointCloudLibrary:masterfrom
yasamoka wants to merge 5 commits intoPointCloudLibrary:masterfrom
Conversation
…r KdTreeFLANN added maximum leaf node size getter to KdTree base class
…Size for KdTreeFLANN
fixed template instantiation added compile definition
Contributor
Contributor
Author
Contributor
|
This seems useful, might a maintainer take a look? |
Contributor
|
how about range search? is nanoflann quicker than flann? |
Member
|
Hi, sorry for not replying earlier! I am not sure if you, @yasamoka , are still interested in working on this pull request and getting it merged (I would understand if not). Either way, here are my thoughts and questions:
I will have more comments once I start reviewing in detail, but these are the most important high-level things for now. |
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.

This pull request provides tested kd-tree implementations using Nanoflann (CPU) and FLANN (CUDA) as well as the addition of the ability to set the max leaf size for any kd-tree implementation.
Benchmarks comparing FLANN (CPU), Nanoflann (CPU), and FLANN (CUDA) can be found here: https://yasamoka.github.io/pcl-knn-benchmark/
I am not sure if there is a better way of modifying CMake scripts to satisfy dependencies. If there is, then I would appreciate help with that.
Regarding documentation, I placed the FLANN CUDA implementation with the
kdtreemodule. This has good visibility for users of k-d trees. Shall I move it to its own module (e.g.cuda/kdtree)? Is it possible to have 2 levels like that?Thank you very much!