运行 PointNetPP报错: CUDA kernel failed : no kernel image is available for execution on the device

在使用PointNetPP处理点云数据时,报错:
CUDA kernel failed : no kernel image is available for execution on the device
void furthest_point_sampling_kernel_wrapper(int, int, int, const float*, float*, int*) at L:228 in _ext_src/src/sampling_gpu.cu

网上一直说是pytorch版本与cuda版本的问题,但是试了很多版本都解决不了

最终解决方法如下:
进入pointnetpp -> _ext_src -> src 

把这个路径下所有.cu后缀文件中的CUDA_CHECK_ERRORS()注释掉,

并且重新运行 pointnetpp 的 setup.py 安装编译

成功解决

参考https://github.com/mkt1412/GraspGPT_public/issues/8

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,"CUDA error cudaErrorNoKernelImageForDevice: no kernel image is available for execution on the device" 是一个CUDA错误,表示在设备上没有可执行的内核图像。这个错误通常发生在使用CUDA编程时,当尝试在设备上执行一个没有正确编译或加载的内核时会出现。 解决这个问题的方法有以下几种: 1. 确保CUDA驱动程序和CUDA工具包已正确安装并与您的设备兼容。您可以通过运行`nvcc --version`命令来检查CUDA工具包的版本。 2. 检查您的代码中是否存在语法错误或逻辑错误,特别是与CUDA内核相关的部分。确保您的内核代码正确编写,并且在编译和加载内核时没有出现错误。 3. 检查您的设备是否支持所需的CUDA功能。某些较旧的设备可能不支持某些CUDA功能,导致无法加载内核图像。您可以查阅设备的技术规格或CUDA文档来了解其功能和限制。 4. 尝试重新编译和加载内核。有时,重新编译和加载内核可以解决内核图像不可用的问题。确保您的内核代码正确编译,并使用正确的编译选项和库路径进行加载。 5. 如果您使用的是第三方库或框架,确保您使用的是与您的设备和CUDA版本兼容的版本。有时,不兼容的库或框架可能导致无法加载内核图像的错误。 请注意,以上方法仅为常见解决方案,具体解决方法可能因您的环境和代码而异。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助您解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值