CUDA error: no kernel image is available for execution on the device 报错解决方法
问题描述
装新环境默认装了个最新的 pytroch,训练的时候报错。
先是显示 RuntimeError: CUDA error: no kernel image is available for execution on the device
,网上查了一圈都说是当前显卡的算力太低,不支持高版本的 CUDA。
看了一眼显卡:3090;看了一眼 CUDA:11.1,都没问题。而且之前用 pytorch 也没出现这种问题。
往上翻了一下训练途中的 warning,看到一句:
GeForce RTX 3090 with CUDA capability sm_86 is not compatible with the current PyTorch installation.
惊了,3090的卡算力都不够了吗?立马检查了一下 pytorch 版本:1.10,寻思 pytorch版本也不低啊。。。
解决方法
网上查了一圈,发现是之前卸载又安装好几个版本的 pytorch,导致 cuda 的配件和当前版本的 pytorch 不适配。卸载全部重来。
- 卸载 pytorch
pip uninstall pytorch
- 去官网复制安装指令。用 conda 装。
- 官方指令:
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
- 其中
torchvision torchaudio
如果不是 CV 方向不需要装;-c
表示从官网下载,巨慢,不要这个,用镜像;cudatoolkit=11.3
表示 cuda 配件版本,就是这个不适配导致报错,替换成你自己的版本号。 - 最终 CUDA 11.1 版本下的安装指令简化为:
conda install pytorch cudatoolkit=11.1 pytorch
虽然最终还是给我装了 1.10.0 的 pytorch,但是这次能正常运行了。装环境真是噩梦。
pytorch各版本和cuda版本对应关系
官网链接:https://pytorch.org/get-started/previous-versions/
食用方法:注意低版本的 pytorch 是否支持更高版本的 cuda。(高版本的pytorch一般能兼容低版本cuda)例如:你需要 1.7.0 的 pytorch,那么 cuda 只能 11.0 及以下。官方推荐的cuda版本为10.2和11.3,这两种 cuda 支持大多数的 pytorch 版本。
(不过一般人都是根据cuda装pytorch,谁没事指定pytorch版本反装cuda啊,哦是复现baseline啊,那没事了(哭
PyTorch 版本 | CUDA 环境 |
---|---|
0.4.1、1.2.0、1.4.0、1.5.0(1)、1.6.0、1.7.0(1) | 9.2 |
1.2.0、1.1.0、1.0.0(1) | 10.0 |
1.4.0、1.5.0(1)、1.6.0、1.7.0(1) | 10.1 |
1.5.0(1)、1.6.0、1.7.0(1)、1.8.0(1)、1.9.0、1.10.0 | 10.2 |
1.7.0(1) | 11.0 |
1.8.0(1)、1.9.0、1.10.0 | 11.1 |
1.8.0(1)、1.9.0、1.10.0 | 11.3 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架