docker 内 pytorch cuda 不可用

拉的官方 docker 仓库里的镜像

nvidia/cuda:12.4.1-cudnn-devel-rockylinux8

conda 安装2.5.0 的 pytorch 后,使用 cuda 报错

go 复制代码
(myenv) [root@000b4321253c opt]# python test1.py 
可用 GPU 数量: 1
检测 CUDA 时出错: Unexpected error from cudaGetDeviceCount(). Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 804: forward compatibility was attempted on non supported HW

我的 test1.py 代码

go 复制代码
import torch

try:
    device_count = torch.cuda.device_count()
    print("可用 GPU 数量:", device_count)
    for i in range(device_count):
        print(f"GPU {i}: {torch.cuda.get_device_name(i)}")
except Exception as e:
    print("检测 CUDA 时出错:", e)

nvidia-smi 可以执行

直接贴原因:

NVIDIA 在 /usr/local/cuda/compat/ 目录下提供了一些兼容库 (libcuda.so.1 等),但如果主机的 NVIDIA 驱动版本较新,则不需要这些兼容库。强行使用这些库可能会导致不匹配的 CUDA 版本,从而触发 Error 804。

解决方案:

go 复制代码
rm -rf /usr/local/cuda/compat
相关推荐
Network_Engineer16 分钟前
从零手写LSTM:从门控原理到PyTorch源码级实现
人工智能·pytorch·lstm
苦逼IT运维1 小时前
从 0 到 1 理解 Kubernetes:一次“破坏式”学习实践(一)
linux·学习·docker·容器·kubernetes
萧曵 丶1 小时前
Docker 面试题
运维·docker·容器
晨港飞燕1 小时前
容器,pod,节点概念
容器
腾讯云开发者1 小时前
言出法随 -- Chaterm如何通过ASR精准操作K8S
云原生·容器·kubernetes
为什么不问问神奇的海螺呢丶2 小时前
n9e categraf docker 监控配置
运维·docker·容器
青树寒鸦2 小时前
wsl的docker备份mongo和迁移
运维·mongodb·docker·容器
多恩Stone3 小时前
【3D-AICG 系列-1】Trellis v1 和 Trellis v2 的区别和改进
人工智能·pytorch·python·算法·3d·aigc
2501_901147834 小时前
PyTorch DDP官方文档学习笔记(核心干货版)
pytorch·笔记·学习·算法·面试
爱宇阳4 小时前
WSL2 完整开发环境配置指南
容器