记录一下出现上述问题的一个原因:
pytorch所依赖的cuda版本不满足显卡(GPU)的算力要求!
举例来说,显卡是3090,并按照以下命令安装Pytorch:
conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=10.1 -c pytorch
可以看到,这里的cuda是10.1。通过查看算力表可以看到,3090对应的算力是8.6(sm_86)
而不同的cuda所能支持的算力如下:
明显可以看到,cuda10.1并不支持sm_86,需要至少cuda11.1及以上版本才行
因此,安装pytorch时cuda版本一定要大于等于11.1 ,例如:
conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=11.3 -c pytorch -c conda-forge
当然,这里只是满足了cuda的要求,具体安装哪个版本pytorch,还要看对应的python版本等其他限制,此处不再赘述~
PS:关于cuda对应的算力表,也可以看NVIDIA Datacenter Drivers :: NVIDIA Data Center GPU Driver Documentation
Pytorch历史版本查询:
Previous PyTorch Versions | PyTorch
参考:
[解决bug]CUDA error: no kernel image is available for execution on the device-CSDN博客
【已解决】RuntimeError: CuDA error: no kernel image is available for execution on the device-CSDN博客
pytorch 中注意cuda版本和gpu算力匹配_pytorch对cuda和算力的要求-CSDN博客
显卡算力、驱动版本、CUDA、pytorch之间的关系_显卡驱动是不是cuda版本-CSDN博客
【CUDA】GPU 算力与 CUDA 版本对应关系_cuda算力-CSDN博客