-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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
GPU-based approxNearestSearch does not work properly #3649
Comments
Hi all, any update regarding this issue? Best wishes Wenjie |
The good:
The bad:
The ugly:
If it is urgent for you, we'd love a PR. |
Marking this as stale due to 30 days of inactivity. It will be closed in 7 days if no further activity occurs. |
Marking this as stale due to 30 days of inactivity. It will be closed in 7 days if no further activity occurs. |
Fixed by #4294
We also have CI for GPU modules now, and while the tests aren't run on CI, they can be run by users, including the test mentioned in the issue. |
I got some problem by using the gpu version of the approxNearestSearch in my project and just by trying with the provided unit test script (slightly modified) I see
(1) results of the GPU version (i.e. from octree_device.approxNearestSearch) does not match the results of the original CPU verison function (approxNearestSearch), and
(2) the quality of the results from approxNearestSearchHost is also worse than the direct CPU solution from approxNearestSearch.
Your Environment
Context
The reason for using the GPU version is to accelerate the operation, but currently with the GPU version, the results are poor and cannot be used.
Expected Behavior
At least the unit test "pcl-pcl-1.9.1/gpu/octree/test/test_approx_nearest.cpp" should be successful. And the results of the GPU version should be better than/at least the same as the CPU version.
Current Behavior
The unit test "pcl-pcl-1.9.1/gpu/octree/test/test_approx_nearest.cpp" fails and the result if worse than the CPU version.
yan@yan-OMEN-by-HP-Laptop-15-dc1xxx: ./test_approx_nearest
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from PCL_OctreeGPU
[ RUN ] PCL_OctreeGPU.approxNearesSearch
Points number = 871000
Queries number = 10000
Cube size = 1024
Max radius = 34.1333
Shared radius = 34.1333
count_gpu_better: 3106
count_pcl_better: 6894
avg_diff_pcl_better: 13.8789
/home/yan/pcl_tracking_gpu_test/test_approx_nearest.cpp:146: Failure
Value of: true
Expected: ( downloaded == result_host_gpu )
Which is: false
[ FAILED ] PCL_OctreeGPU.approxNearesSearch (1065 ms)
[----------] 1 test from PCL_OctreeGPU (1066 ms total)
[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (1066 ms total)
[ PASSED ] 0 tests.
[ FAILED ] 1 test, listed below:
[ FAILED ] PCL_OctreeGPU.approxNearesSearch
1 FAILED TEST
Code to Reproduce
Possible Solution
The text was updated successfully, but these errors were encountered: