PointCloudLibrary / PointCloudLibrary/pcl

[custom] Possibilitiy of adding fast KDtree (or other clustering algorithm) to the GPU module?

Open
#4,817 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

module: gpu status: triage
Dominant language
C++
Stars
11.1k
Forks
4.7k
Avg merge
4d 10h
Merged PRs (30d)
6

Description

In thread #4677, @larshg mentioned that the revised GPU clustering runs faster than before but is slower than the CPU version. The CPU version is based on a KD-Tree, while the GPU version relies on an Octree. I was looking for fast GPU implementation of KD-Tree but did not found a convincing one. Moreover, I was not sure if something like this exists. I thus wanted to ask if somebody with more experience with the clustering algorithms knows whether fast GPU implementations exist and whether we could leverage them here? Are maybe the nn implementations in the cuda module just that? I am grateful for any tips or suggestions!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with thread #4677 and compare the CPU KD-Tree implementation with the GPU Octree clustering described here. Then inspect the CUDA module's existing nearest-neighbor implementations to determine whether they provide a usable GPU KD-Tree or another clustering approach. Done would require a decided algorithm and a concrete integration plan, but this issue does not name files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-vision, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.