GPU compute capability(算力)和CUDA版本冲突问题

RuntimeError: CUDA error: no kernel image is available for execution on the device
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

Test on:

import torch
torch.zeros(1).cuda()

GeForce RTX 3080 with CUDA capability sm_86 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_61 sm_70 sm_75 compute_37.

CUDA capability sm_86:算力8.6
上面表面上是说PyTorch,实际上是PyTorch依赖的CUDA版本的问题
翻译一下就是:RTX 3080的算力是8.6,但是当前的PyTorch依赖的CUDA版本支持的算力只有3.7、5.0、6.0、6.1、7.0、7.5及3.7以下

原因:

GPU算力和cuda版本不匹配。

解决:

只有cuda 11.0以上版本支持当前GPU 8.6算力,安装cuda 11.1覆盖cuda 10.2。

Docker镜像经验:

镜像自带的CUDA会有一个驱动版本,这个版本一定要小于宿主机版本。

查看命令为:

ls -l /usr/lib/x86_64-linux-gnu/libcuda.so*

 为什么Docker环境会引入forward compatibility 问题?

问题就出在,Gemfield的宿主机上的驱动版本是:

  • GPU device driver:450.102.04;
  • CUDA driver:libcuda.so.450.102.04。

而Gemfield所使用的下面两个image中的cuda runtime分别是:

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值