Description
Checklist
- I have searched for similar issues.
- For Python issues, I have tested with the latest development wheel.
- I have checked the release documentation and the latest documentation (for
main
branch).
Steps to reproduce the issue
I first cloned Open3D by:
git clone https://github.com/isl-org/Open3D.git
cd Open3D
Try to build locally on a jetson orin with NVIDIA Tegra platform(R36 , REVISION: 2.0)
more system and build specs given below
Follow the documentation for build with cuda support and gui support https://www.open3d.org/docs/release/arm.html#:~:text=steps%20as%20above.-,Building%20Open3D%20directly,-%23
ensure -> cmake version 3.22.1
same for conda env, python venv or default user
mkdir build
cd build
cmake -DBUILD_CUDA_MODULE=ON -DBUILD_GUI=ON ..
make -j$(nproc)
Error message
first error to which i did some hacky fix and it worked this was doing undef of global var error /build/filament/src/ext_filament/libs/image/src/ImageSampler.cpp:41:17: error: expected unqualified-id 1556.7 constexpr float M_PIf = float(filament::math::F_PI); 1556.7 ^ 1556.7 /usr/include/math.h:1168:17: note: expanded from macro 'M_PIf' 1556.7 # define M_PIf 3.14159265358979323846f /* pi */ 1556.7 ^ 1556.7 1 error generated.
now when the build proceeds i run into another issue where cuda is throwing some shared memory dynammic init error /home/orion/Open3D/cpp/open3d/core/nns/kernel/L2Select.cuh(57): error #20054-D: dynamic initialization is not supported for a function-scope static __shared__ variable within a __device__/__global__ function Pair<T, int> blockMin[kRowsPerBlock * (kBlockSize / kWarpSize)]; ^ detected during: instantiation of "void open3d::core::nns::l2SelectMin1<T,TIndex,kRowsPerBlock,kBlockSize>(T *, T *, T *, TIndex *, int, int) [with T=float, TIndex=int32_t, kRowsPerBlock=8, kBlockSize=256]" at line 223 instantiation of "void open3d::core::nns::runL2SelectMin<T,TIndex>(cudaStream_t, open3d::core::Tensor &, open3d::core::Tensor &, open3d::core::Tensor &, open3d::core::Tensor &, int, int, int) [with T=float, TIndex=int32_t]" at line 191 of /home/orion/Open3D/cpp/open3d/core/nns/KnnSearchOps.cu instantiation of "void open3d::core::nns::KnnSearchCUDAOptimized<T,TIndex,OUTPUT_ALLOCATOR>(const open3d::core::Tensor &, const open3d::core::Tensor &, int, OUTPUT_ALLOCATOR &, open3d::core::Tensor &) [with T=float, TIndex=int32_t, OUTPUT_ALLOCATOR=open3d::core::nns::NeighborSearchAllocator<float, int32_t>]" at line 260 of /home/orion/Open3D/cpp/open3d/core/nns/KnnSearchOps.cu instantiation of "void open3d::core::nns::KnnSearchCUDA<T,TIndex>(const open3d::core::Tensor &, const open3d::core::Tensor &, const open3d::core::Tensor &, const open3d::core::Tensor &, int, open3d::core::Tensor &, open3d::core::Tensor &, open3d::core::Tensor &) [with T=float, TIndex=int32_t]" at line 318 of /home/orion/Open3D/cpp/open3d/core/nns/KnnSearchOps.cu
im not sure on these memory management of cuda. Can someone help
### Open3D, Python and System information
```markdown
- Operating system: Ubuntu 22.04.3 LTS
- Python version: Python 3.10.12
- Open3D version: 0.18.0
- System architecture: jetson
- Is this a remote workstation?: no
- How did you install Open3D?: build from source
- Compiler version (if built from source): gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0 / Ubuntu clang version 14.0.0-1ubuntu1.1
Additional information
No response