当前位置: 首页 > article >正文

docker 内 pytorch cuda 不可用

拉的官方 docker 仓库里的镜像
nvidia/cuda:12.4.1-cudnn-devel-rockylinux8

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

(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 代码

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。

解决方案:

rm -rf /usr/local/cuda/compat

http://www.kler.cn/a/593648.html

相关文章:

  • 【JavaEE】传递和接收数据,Spring MVC 注解搭建前后端交互的「隐形桥梁」
  • Android Compose 框架图片加载深入剖析(六)
  • 【Linux】统信操作系统进入单用户如何修改密码
  • 通过AI自动生成springboot的CRUD以及单元测试与压力测试源码(完整版)
  • 【Java集合夜话】第1篇:拨开迷雾,探寻集合框架的精妙设计
  • 2025年渗透测试面试题总结- PingCAP安全工程师(题目+回答)
  • selenium之基础整理
  • Asahi Linux 核心开发者暂停苹果 GPU Linux 驱动开发工作
  • Photoshop基础操作全解析
  • 【Linux内核系列】:动静态库详解
  • 基于AT89C52单片机的串口电子秤设计
  • 【Linux进程】——进程的程序地址空间
  • freeswitch 编译
  • 深入自制Shell:解锁Linux进程控制的实践密码
  • C#通过API接口返回流式响应内容---SignalR方式
  • Powershell WSL导出导入ubuntu22.04.5子系统
  • 【数据库系统原理】Ch7 数据库应用设计与开发实例
  • NLP探索
  • 目标检测中归一化的目的?
  • 用数组模拟循环队列