Thanks for the awesome work and contribution. Are there any plans for CUDA support? such as ICP and reconstruction with CUDA, etc. Thanks!
I don't think we will have such support in the near future, as we are short handed - so we have to deprioritize many things. But if many people are requesting this feature we can prioritize it.
I think is a good feature, and more taking on count that video and data is growing in importance. Please take this into consideration.
I'm working a lot in 3d scanning and photogrammetry... CUDA support is a very big plus in this industry.
CUDA definitely offers some significant speed improvements. I've started playing with these.
CUDA support could be very useful to work on open3d. It will speed up many processes.
Rather than becoming specific to NVIDIA CUDA architecture, maybe a look into https://www.openacc.org/ could be beneficial.
A bit about my opinion.
SYCL is an unexpected and solid contender.
An uncomplicated description of SYCL would be: SYCL is a single source C++ facelift of OpenCL. In theory SYCL has all the advantages of OpenCL with fewer of its disadvantages. The single source C++ makes it very friendly.
Halide is very solid as well. Single source C++ also. Halide has a very good coverage of hw architectures just like OpenCL/SYCL. In theory Halide makes it easier than OpenCL/SYCL to optimize for each one of the said hw architectures.
CUDA/OpenACC are pretty much NVIDIA only. I personally love them both with OpenACC definitely nicer than pure CUDA.
ISPC is an obscure option but probably the best (matched only by Halide) option for CPU optimizations. IMHO there's more room for optimizations on the CPU side and ISPC could do great here.
Awesome! @takanokage had volunteered for this issue. @takanokage: please take a full ownership.
Sure, thanks! ;)
Exciting!
@takanokage FYI
https://github.com/mp3guy/ICPCUDA
@takanokage any specific instructions to work with the cuda_support branch?
The one requirement is to use a more recent CMake (>3.12.2) in order to make use of the native support for CUDA in CMake which simplifies configuration.
Caveat: this branch is still in very early stages. You will notice that our focus has been not on implementing kernels but rather on the infrastructure required to support GPU acceleration. As such there's little benefit at this time from using this branch.
For icp, I implement a point2plane cuda version recently, including kdtree query on gpu. Hope it helps.
We are working on full cuda support for Open3D. Stay tuned. In the meantime, I am closing this issue
@germanros1987 That's great. Do you have a tentative timeline for the release? And will that include optimizing pairwise_registration?
Just interesting if there is any update?
Most helpful comment
Just interesting if there is any update?