Google Colab使用A100 GPU运行代码出现CUDA no kernel image错误问询
报错产生原因
CUDA error: no kernel image is available for execution on the device
该报错本质是运行CUDA代码的目标设备算力,没有被当前使用的CUDA程序/依赖库的预编译内核覆盖,结合你提供的场景,具体触发原因如下:
- GPU架构兼容性不匹配:本次分配到的A100-SXM4-40GB属于安培架构,算力为8.0,上周你分配到的Colab GPU大概率为T4(图灵架构,算力7.5)或P100(帕斯卡架构,算力6.0)。若你使用的深度学习框架(如PyTorch、TensorFlow)版本过低,例如PyTorch 1.7.0及更早版本,自带的CUDA toolkit最高仅支持到算力7.5,未适配安培架构的预编译内核,就会触发报错。CPU运行不需要调用CUDA内核,因此不受影响。
- 自定义CUDA扩展未适配A100算力:如果你的代码包含自行编译的CUDA扩展(如自定义算子、第三方CUDA依赖包),编译时默认仅会适配编译环境所在GPU的算力,上周在旧GPU环境编译的扩展仅包含对应旧架构的内核,切换到A100环境后无法找到匹配的内核就会报错。
- CUDA版本过低:如果你的代码手动指定了CUDA版本,且指定的版本低于11.0,本身就不支持安培架构的A100显卡,同样会触发该报错。
内容的提问来源于stack exchange,提问作者user17047087
相关产品推荐
相关产品推荐

