Open chenhonghua opened 6 years ago
Sounds like a duplicate of #2103
@SergioRAgostinho thank you, I will check it
@SergioRAgostinho Hi, I debug the program as follows:
pcl::gpu::Octree::Ptr octree_device(new pcl::gpu::Octree) -->Octree() -->OctreeImpl::get_gpu_arch_compiled_for(bin, ptx) -->cudaSafeCall(cudaFuncGetAttributes(&attrs, get_cc_kernel)) -->return::cudaFuncGetAttributes(attr, (const void*)entry)
!!! But here return cudaErrorInvalidDeviceFunction, which means the requested device function does not exist or is not compiled for the proper device architecture.
Does that mean my gpu is not suitable? My gpu is quadro K620. Cuda Version:8.0
Did you compile with the right setting in CUDA_BIN_ARCH? You may also have to add a value for the number of cores in gpu/containers/src/initialization.cpp in the gpuArchCoresPerSm array corresponding to your gpu arch
Did you compile with the right setting in CUDA_BIN_ARCH? You may also have to add a value for the number of cores in gpu/containers/src/initialization.cpp in the gpuArchCoresPerSm array corresponding to your gpu arch
@barnjamin I guess manual configuration isn't required for alternative archs. Because findCUDA file already sets redundant flags when PCL is compiled from source. Has this issue been addressed to make GPU examples: segmentation/octree_search work?
:warning: This is a issue tracker, please use our mailing list for questions: www.pcl-users.org. :warning:
Your Environment
Expected Behavior
I wanna use pcl::gpu::EculidenClusterExtraction to speed up segmentation task.
Current Behavior
The program crashed when it call the function extract() and show the info: Error: invalid device function F:/PCL/pcl-master/gpu/octree/src/cuda/octree_host.cu:64 I debuted and found the crash point was at the line 193 in gpu_extractclusters.cpp: if(!tree->isBuild()) { tree_->build(); }
Possible Solution
Code to Reproduce
Context