Is your feature request related to a problem? Please describe.
Recently, I do a lot study on point cloud processing with pcl, such as plane segmentation, outliers removal, down-sampling and ICP registration. But for now, these operations all on CPU and run a bit slowly beyond I need. Therefore, I want to acclerate this progress through parallel processing which support by GPU. However, I can not find the relative algorithm that run on GPU and lack of docs on it. Could helpful contributors give me some suggestions?
Context
How has the lack of this feature this issue affected you?
Time elapsed of each point cloud with about 50,0000 data points processing (includes plane segmentation, outliers removal, down-sampling and ICP registration.) on CPU.
Expected behavior
The overall time should be controlled within 100ms.
Current Behavior
The current time elapsed about 500ms on CPU.
Describe the solution you'd like
I hope more and more algorithm can be supported with GPU. I expect official team take more efforts on CUDA Toolkit.
Testing Environment
Describe alternatives you've considered
Open3D has similar alogrithms against pcl. It also has less support on GPU but the other branch work on it. I think pcl more mature than Open3D so I choose pcl finally.
Improving GPU support is definitely something to hope for, barring a few hiccups:
If you can provide help/contributions, that'd be awesome 😄
Improving GPU support is definitely something to hope for, barring a few hiccups:
- CUDA is proprietary to Nvidia hardware. Not everyone has hardware to test/run
- Support for testing CUDA on CI is zero
If you can provide help/contributions, that'd be awesome 😄
But Nvidia GPU is not a quite expensive hadware that beyond the most purchasing ability if someone does not buy the very good performance. I think this should not become the obstacle influences on GPU support.
I think this should not become the obstacle influences on GPU support.
You're welcome to donate equipment to the volunteer maintainers. If not that, then you can contribute your own time and effort to improve the GPU support. Improving support for GPU is not something that we don't want to do, we really do want to support it, but we lack the time as well as ability to provide tested implementations.
To reiterate, even ignoring future improvements, we can't be 100% assured that the GPU modules are working because the CI we use (for free) doesn't have GPU support. We have to rely on specific maintainers and community members to report issues instead.
Marking this as stale due to 30 days of inactivity. It will be closed in 7 days if no further activity occurs.
So , until now, pcl really only supports the acceleration of a small number of point cloud processing , like octree, segematation, based on cluster, which I always thought this problem is caused by my incomplete compilation of the source code.
Once more, pcl compilation is very very slowly. Although I made a little modication, I want to wait a long time for the template method compilation. It's really poor efficiency.
Closing issue as not a bug.
PS: Use instantiated template types if you're not modifying PCL
It's really poor efficiency.
There's a popular folk lore that comes to mind, but I can't seem to find a link to it.
There once was an artist who painted a nice picture. Being proud of it, the artist went to a busy plaza to show off the painting. Besides the painting, there was a sign: "Mark a place where this could use improvement"
The artist was disappointed to see the painting covered with marks. Disheartened, the painter made another painting, just as strikingly beautiful as the previous and went to the same plaza. This time, the artist modified the sign to read: "Please improve the painting where possible".
To the artists amazement, not a single person modified the painting.
Moral of the story: It's easy to complain, but difficult to make improvements even in imperfect works.
Most helpful comment
Closing issue as not a bug.
PS: Use instantiated template types if you're not modifying PCL
There's a popular folk lore that comes to mind, but I can't seem to find a link to it.
There once was an artist who painted a nice picture. Being proud of it, the artist went to a busy plaza to show off the painting. Besides the painting, there was a sign: "Mark a place where this could use improvement"
The artist was disappointed to see the painting covered with marks. Disheartened, the painter made another painting, just as strikingly beautiful as the previous and went to the same plaza. This time, the artist modified the sign to read: "Please improve the painting where possible".
To the artists amazement, not a single person modified the painting.
Moral of the story: It's easy to complain, but difficult to make improvements even in imperfect works.