-
Notifications
You must be signed in to change notification settings - Fork 675
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
perf(autoware_ndt_scan_matcher): replacement of pcl::KdTreeFLANN with nanoflann #10013
base: main
Are you sure you want to change the base?
perf(autoware_ndt_scan_matcher): replacement of pcl::KdTreeFLANN with nanoflann #10013
Conversation
Signed-off-by: taisa1 <[email protected]>
Signed-off-by: taisa1 <[email protected]>
Signed-off-by: taisa1 <[email protected]>
Thank you for contributing to the Autoware project! 🚧 If your pull request is in progress, switch it to draft mode. Please ensure:
|
Thank you for the pull request! Since this pull request has a big impact, we are running tests on all the evaluation data. TIER IV internal links
Once these are complete, we will check for any errors and compare the processing times with the previous ones. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #10013 +/- ##
==========================================
+ Coverage 29.21% 29.86% +0.64%
==========================================
Files 1439 1434 -5
Lines 108115 108149 +34
Branches 42638 42892 +254
==========================================
+ Hits 31588 32297 +709
+ Misses 73485 72714 -771
- Partials 3042 3138 +96
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Sentry. |
@taisa1 Could you fix them? ref) https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell#in-document-settings |
Signed-off-by: taisa1 <[email protected]>
…toware.universe into perf_autoware_ndt_scan_matcher
Signed-off-by: taisa1 <[email protected]>
Fixed spell check error. |
Thank you for the correction.
It's probably fine because some of the data is abnormal data that is expected to fail. I'll check the results tomorrow. |
@taisa1 Thank you for the pull request!
Is it not possible to install Alternatively, you could create a separate repository for |
In any case, there is no problem with placing it in |
nanoflann v1.4.2 can be installed via apt, but it's older than latest v1.6.3 and there are some fixes, API changes and optimizations between them. I haven't modified code of nanoflann, but if there is no problem it might be better to place the latest nanoflann in autoware_ndt_scan_matcher (as this PR is). |
Description
This PR speeds up callback_sensor_points_main() on autoware_ndt_scan_matcher without changing the logical output.
The tail latency gets about x1.65 faster with this PR merged.
In this PR, I propose to replace pcl::KdTreeFLANN with nanoflann in this node.
nanoflann is a header-only kdtree library, a fork of FLANN used in PCL.
It is provided under the BSD license. kdtree_nanoflann.hpp contains code from nanoflann, so the license is displayed.
nanoflann.hpp is a copy from nanoflann v1.6.3, and is currently placed in include directory of this node, but will need to be moved if it is used on other nodes in the future.
Measurement Condition
Related links
Private Links:
How was this PR tested?
Notes for reviewers
In this PR, the library is temporarily placed under the include/ of autoware_ndt_scan_matcher, but
So it might be better to install it in a location like /usr/include/ instead of placing it as source code.
Do you have any comments about it?
Interface changes
None.
Effects on system behavior
None.