Skip to content

Cuda fallback to neon instead no opt - #14801

Merged
remibettan merged 1 commit into
realsenseai:developmentfrom
remibettan:cuda-fallback-to-neon-instead-no-opt
Mar 17, 2026
Merged

remibettan merged 1 commit into
realsenseai:developmentfrom
remibettan:cuda-fallback-to-neon-instead-no-opt

Conversation

@remibettan

@remibettan remibettan commented Mar 9, 2026 •

Copy link
Copy Markdown
Contributor

Tracked by: RSDEV-6487

Copilot AI review requested due to automatic review settings March 9, 2026 10:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Enables improved SIMD/CUDA selection and behavior for pointcloud/align processing, including a CUDA+NEON hybrid path and expanded NEON distortion model support.

Changes:

  • Add INFO logs indicating which implementation (CUDA/SSE/NEON/generic) is selected for align and pointcloud.
  • Extend NEON pointcloud texture projection to support RS2_DISTORTION_INVERSE_BROWN_CONRADY and RS2_DISTORTION_BROWN_CONRADY.
  • On ARM+CUDA builds, make pointcloud_cuda inherit from pointcloud_neon to reuse NEON-optimized methods not accelerated by CUDA.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/proc/pointcloud.cpp Adds easylogging include and logs the chosen pointcloud implementation; keeps NEON fallback path.
src/proc/neon/neon-pointcloud.cpp Adds NEON projection handling for inverse/brown conrady and routes get_texture_map by distortion model.
src/proc/cuda/cuda-pointcloud.h Switches pointcloud_cuda base class to pointcloud_neon when NEON is available (non-Android).
src/proc/cuda/cuda-pointcloud.cpp Adjusts constructor to match the new inheritance strategy.
src/proc/align.cpp Adds easylogging include and logs the chosen align implementation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/proc/cuda/cuda-pointcloud.cpp Resolved
Comment thread src/proc/neon/neon-pointcloud.cpp Resolved

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/proc/cuda/cuda-pointcloud.h Resolved
@remibettan
remibettan force-pushed the cuda-fallback-to-neon-instead-no-opt branch from 78215e7 to d26ffbb Compare March 11, 2026 13:22
#if defined(__ARM_NEON) && !defined(ANDROID)
// When NEON is available, inherit from pointcloud_neon which calls pointcloud("Pointcloud (NEON)")
// We keep the NEON name since this is a hybrid using CUDA for depth_to_points and NEON for get_texture_map
: pointcloud_neon()

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here we don't initialize with a string like in CUDA?
What do we do with this string BTW?

namespace librealsense
{
#if defined(__ARM_NEON) && !defined(ANDROID)
class pointcloud_cuda : public pointcloud_neon

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will this make the pointcloude be done in neon or cuda?
isn't neon implemented the pointcloud functions and will take over even on CUDA?

@Nir-Az Nir-Az left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good
Let merge after IQ validation

@remibettan
remibettan merged commit 2ae2716 into realsenseai:development Mar 17, 2026
26 of 27 checks passed
@remibettan
remibettan deleted the cuda-fallback-to-neon-instead-no-opt branch July 8, 2026 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants