-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Source Build Configuration Options #4132
Comments
Hi @VasuAgrawal
|
@dorodnic, For any future readers, you can find the list of PRs related to CUDA here. This PR in particular adds the CUDA implementation for alignment. I'm looking forward to benchmarking on the Xavier as well! |
Issue Description
Hi,
I'm trying to understand the tradeoffs for enabling / disabling each of the configuration options for librealsense, as defined in the
CMake/lrs_options.cmake
file. The majority of the options seem largely self-explanatory (or not related to my use case), but there are a few interesting ones that I'd like to better understand the tradeoffs for, ultimately to determine if I should enable the feature.The ones that I'd like more information on are as follows:
BUILD_WITH_CUDA
: Which functions in librealsense will be accelerated by using CUDA? Does the use of CUDA tend to improve performance of said functions, or does the performance remain comparable with pure-CPU implementations due to memory copy overhead? Does the answer change when switching to a Jetson platform (ARM CPU and integrated GPU / CPU memory)?BUILD_GLSL_EXTENSIONS
: How does the performance of the GLSL shader-based acceleration compare to the pure CUDA implementations on systems that support CUDA? Is there a reason to use the GLSL extensions if CUDA is available? Additionally, are all of the same features that are accelerated by CUDA accelerated by the GLSL shaders?BUILD_WITH_OPENMP
: Similarly, what features does OpenMP accelerate, and by how much (typically)?ENABLE_ZERO_COPY
: Typically, zero copy transport is good for performance - I'm curious why this option is disabled by default. What are the tradeoffs I should understand when enabling zero copy? Also, what data uses zero copy transport with this flag? Is there additional work that a user needs to do to access the data with zero copy transport?HWM_OVER_XU
: What are HWM commands? Didn't find anything relevant on Google.More generally, perhaps it's worth mentioning the additional configuration options for the source build in the documentation for the source build. Maybe this question could be linked as well, for additional information on the options?
The text was updated successfully, but these errors were encountered: