Open3D
Open3D copied to clipboard
How to build project linking to Open3D with CUDA support
Checklist
- [X] I have searched for similar issues.
- [X] For Python issues, I have tested with the latest development wheel.
- [X] I have checked the release documentation and the latest documentation (for
master
branch).
My Question
I built Open3D with CUDA support and tried to use Open3D in a ROS package but failed.
CMake Error at /usr/share/cmake-3.16/Modules/CMakeFindDependencyMacro.cmake:47 (find_package):
By not providing "FindCUDAToolkit.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"CUDAToolkit", but CMake did not find one.
Could not find a package configuration file provided by "CUDAToolkit" with
any of the following names:
CUDAToolkitConfig.cmake
cudatoolkit-config.cmake
Add the installation prefix of "CUDAToolkit" to CMAKE_PREFIX_PATH or set
"CUDAToolkit_DIR" to a directory containing one of the above files. If
"CUDAToolkit" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
/media/user/libopen3d/lib/cmake/Open3D/Open3DConfig.cmake:25 (find_dependency)
pmdr/CMakeLists.txt:57 (find_package)
```bash
I tried to add the following variables:
set(CUDA_TOOLKIT_ROOT_DIR /usr/local/cuda-11.6) set(CMAKE_CUDA_COMPILER /usr/local/cuda-10.2/bin/nvcc) list(APPEND CMAKE_MODULE_PATH /media/gcc/Data/Downloads/ubuntu/_LIBs/Open3D/build/stdgpu/src/ext_stdgpu/cmake/cuda) set(STDGPU_CUDART_INCLUDE_DIR /usr/local/cuda-11.6/include) set(STDGPU_CUDART_LIBRARY /usr/local/cuda-11.6/lib64) set(STDGPU_CUDART_LIBRARY /usr/local/cuda-11.6/targets/x86_64-linux/lib)
But finally failed at
/usr/bin/ld: cannot find -lCUDA::cusolver_static /usr/bin/ld: cannot find -lCUDA::cusparse_static /usr/bin/ld: cannot find -lCUDA::cublas_static /usr/bin/ld: cannot find -lCUDA::cublasLt_static /usr/bin/ld: cannot find -lCUDA::culibos /usr/bin/ld: cannot find -lCUDA::nppc_static /usr/bin/ld: cannot find -lCUDA::nppicc_static /usr/bin/ld: cannot find -lCUDA::nppif_static /usr/bin/ld: cannot find -lCUDA::nppig_static /usr/bin/ld: cannot find -lCUDA::nppim_static /usr/bin/ld: cannot find -lCUDA::nppial_static collect2: error: ld returned 1 exit status make[2]: *** [pmdr/CMakeFiles/pmdr.dir/build.make:1915: pmdr/pmdr] Error 1 make[1]: *** [CMakeFiles/Makefile2:752: pmdr/CMakeFiles/pmdr.dir/all] Error 2 make: *** [Makefile:141: all] Error 2
What is the correct way to use Open3D with CUDA support? I would really appreciate any solution since I've struggled to use Open3D in my project for few days.