Skip to content
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

thrust::system::system_error after align call in FAST_VGICP_CUDA #91

Open
KennyRotella opened this issue May 2, 2022 · 8 comments
Open

Comments

@KennyRotella
Copy link

My system info:

Ubuntu 18.0.4 (5.4.0-109-generic)
ROS melodic
NVIDIA GTX 950M (Compute capability (version) 5.0) Maxwell
Cuda 11.1.74
gcc 7.5.0
cmake version 3.10.2
ros-melodic-pcl-ros 1.7.4
eigen 3.3.4


Hello,
I'm trying to perform scan matching in hdl_graph_slam using CUDA, but right after the first call of void pcl::Registration<pcl::PointXYZI, pcl::PointXYZI>::align(pcl::PointCloud<pcl::PointXYZI> &output, const Eigen::Matrix4f &guess) I get this error:

terminate called after throwing an instance of 'thrust::system::system_error'
  what():  after reduction step 1: cudaErrorInvalidDeviceFunction: invalid device function

Any hint to get some insight about this?

@Gatsby23
Copy link

Gatsby23 commented May 3, 2022

My system info:

Ubuntu 18.0.4 (5.4.0-109-generic) ROS melodic NVIDIA GTX 950M (Compute capability (version) 5.0) Maxwell Cuda 11.1.74 gcc 7.5.0 cmake version 3.10.2 ros-melodic-pcl-ros 1.7.4 eigen 3.3.4

Hello, I'm trying to perform scan matching in hdl_graph_slam using CUDA, but right after the first call of void pcl::Registration<pcl::PointXYZI, pcl::PointXYZI>::align(pcl::PointCloud<pcl::PointXYZI> &output, const Eigen::Matrix4f &guess) I get this error:

terminate called after throwing an instance of 'thrust::system::system_error'
  what():  after reduction step 1: cudaErrorInvalidDeviceFunction: invalid device function

Any hint to get some insight about this?

Sorry, I met the same problem as you. How to solve it, could you please help me with a more clearly command?

@KennyRotella
Copy link
Author

KennyRotella commented May 3, 2022

hi @Gatsby23 I solved changing the nvcc compiler flag in CMakeLists.txt, I opened a pullrequest for this #92

@Gatsby23
Copy link

Gatsby23 commented May 3, 2022

hi @Gatsby23 I solved changing the nvcc compiler flag in CMakeLists.txt, I opened a pullrequest for this #92

I changed like this. But I get this problem:
'''
nvcc fatal : Value 'native' is not defined for option 'gpu-architecture'
'''
I don't know what's wrong with it

@KennyRotella
Copy link
Author

that's strange, what's your cuda version? try nvcc --version maybe this option does not apply to all cuda versions, mine now is 11.6.2, I updated it

@KennyRotella
Copy link
Author

anyway what you should do, probably, is to tell your gpu computing capabilities to nvcc using some options before compiling. I used this to find the command https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#options-for-steering-gpu-code-generation-gpu-architecture

@Gatsby23
Copy link

Gatsby23 commented May 3, 2022

that's strange, what's your cuda version? try nvcc --version maybe this option does not apply to all cuda versions, mine now is 11.6.2, I updated it

Sorry for that, my cuda is 11.2.

@KennyRotella
Copy link
Author

that's strange, what's your cuda version? try nvcc --version maybe this option does not apply to all cuda versions, mine now is 11.6.2, I updated it

Sorry for that, my cuda is 11.2.

-gencode=arch=compute_xx,code=sm_xx where xx is your gpu compute capability in my case i have 5.0 and xx => 50

@NirvanaDragon
Copy link

that's strange, what's your cuda version? try nvcc --version maybe this option does not apply to all cuda versions, mine now is 11.6.2, I updated it

Sorry for that, my cuda is 11.2.

-gencode=arch=compute_xx,code=sm_xx where xx is your gpu compute capability in my case i have 5.0 and xx => 50

hello,I add "-gencode=arch=compute_xx,code=sm_xx" to CUDA_NVCC_FLAGS,but still meet this problem
terminate called after throwing an instance of 'thrust::system::system_error'
what(): for_each: failed to synchronize: cudaErrorIllegalAddress: an illegal memory access was encountered
Aborted (core dumped)
could you have other solutions, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants