解决CUDA error: no kernel image is availabel for execution on the device
jane_xing 2024-09-13 10:01:01 阅读 53
问题描述:
GLIP demo从T4卡的服务器上迁移到4090卡上,同样的docker镜像,同样的启动脚本,竟然报错了:
原因分析:
环境里的cuda版本是11.0,网上看到4090支持的cuda最低版本是11.8
尝试解决第一步:
升级cuda版本,安装cuda11.8
打开nvidia官网,找到安装命令:
官网地址:https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=runfile_local
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run
安装时,不勾选‘driver’,按空格即可。安装好后,nvcc -V,检查是否安装成功。
启动服务,被催地发现,仍然报同样的错。
继续分析:
检查torch版本,是否torch版本和cuda不兼容导致。
环境中torch版本:1.9.1+cu102
对比该服务器上其它正常可用跑训练或推理的docker环境,发现 torch版本:1.9.1+cu111的运行正常。
尝试解决第二步:
更新torch版本:1.9.1+cu111
pip install torch==1.9.0+cu111 -f https://download.pytorch.org/whl/cu111/torch_stable.html
直接 pip install torch==1.9.0+cu111 ,是会报错的,需要加上后面的地址。
再次启动demo,无报错,问题解决。
最后
有一种可能,不需要升级cuda版本,直接更新torch版本就可以解决问题。时间原因,不做验证了。
上一篇: 生成式AI扩散模型-Diffusion Model【李宏毅2023】概念讲解、原理剖析笔记
下一篇: 使用亚马逊Bedrock的Stable Diffusion XL模型实现文本到图像生成:探索AI的无限创意
本文标签
解决CUDA error: no kernel image is availabel for execution on the device
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。