AI 工具检测不到 CUDA?用 PyTorch 核对安装包、驱动与实际设备

在工具实际 Python 环境诊断 CUDA 不可用,区分 CPU 安装包、驱动和设备可见性;提供同解释器检查与修复后的 GPU 张量验收步骤。

AI 工具提示 CUDA 不可用时,先确认它是否使用 PyTorch,并在工具实际使用的 Python 环境里运行诊断。需要分别核对安装包是否支持目标后端、驱动能否看见设备、当前进程是否能创建 GPU 张量;只有电脑里装了一个 CUDA Toolkit,不能作为工具已经可用的验收结果。

本文面向 Windows 上使用 NVIDIA CUDA 路线的 PyTorch 工具。2026 年 10 月 1 日在 Python 3.11.15、PyTorch 2.14.1 CPU 包运行了诊断,记录了不可用分支;没有测试 GPU 驱动修复或 CUDA 张量运行,不给出显卡速度和兼容性保证。其他框架、ROCm 或 macOS 后端需要按对应工具说明处理。

AI 工具检测不到 CUDA?用 PyTorch 核对安装包、驱动与实际设备

第一步:在工具实际使用的进程里诊断

将下面代码保存为 cuda_check.py,用运行该工具的同一个 Python 执行。若在 IDE 或笔记本里运行,sys.executable 显示的路径也应与该工具一致;在另一个终端装好 torch,不能证明工具会使用那个环境。

PyTorch 官方 is_available 文档定义了当前 CUDA 可用性查询;CUDA 语义说明提供设备和 CUDA 张量操作依据。

import os
import sys
import torch

print('python:', sys.executable)
print('torch:', torch.__version__)
print('compiled_cuda:', torch.version.cuda)
print('compiled_hip:', torch.version.hip)
print('cuda_available:', torch.cuda.is_available())
print('visible_devices_setting:', os.environ.get('CUDA_VISIBLE_DEVICES', '<not set>'))
print('device_count:', torch.cuda.device_count())
if torch.cuda.is_available():
    for i in range(torch.cuda.device_count()):
        print('device:', i, torch.cuda.get_device_name(i))
    x = torch.tensor([1.0, 2.0], device='cuda')
    result = (x * 2).cpu().tolist()
    assert result == [2.0, 4.0]
    print('gpu_tensor_check:', result)
else:
    print('gpu_tensor_check: skipped; CUDA unavailable')

如果连 import torch 都失败,先解决该环境缺包或加载依赖失败,保留完整错误;这还不是 GPU 张量测试。诊断本次关键输出如下,解释器路径由你的安装位置决定:

torch: 2.14.1+cpu
compiled_cuda: None
compiled_hip: None
cuda_available: False
device_count: 0
gpu_tensor_check: skipped; CUDA unavailable

本次明确使用 +cpu 安装包,所以没有测试 GPU 操作。不能从这组输出推断电脑物理上没有 GPU。torch.version.cuda 为 None 也不能脱离后端解释:ROCm 环境有自己的 HIP 信息,并使用部分 torch.cuda 接口;本文的修复路线专指 NVIDIA CUDA。

第二步:区分包、驱动与设备可见性

证据 先检查什么 修复方向
版本含 +cpu,CUDA 与 HIP 信息均为空 工具是否装了 CPU 包 按官方安装选择器和工具依赖要求选择支持目标 CUDA 的包,在同一解释器安装
有编译 CUDA 信息,is_available 仍为 False NVIDIA 驱动、硬件支持、设备是否向当前进程暴露 先查驱动和进程环境;编译版本存在不代表当前设备初始化成功
另一个终端可用,工具内不可用 sys.executable、torch.__version__、启动环境 对齐实际解释器和依赖,重启相应进程后复测
CUDA_VISIBLE_DEVICES 限制设备 启动脚本或运行环境的设备配置 确认这是预期限制还是误配置,不在未核对时修改共享运行策略

PyTorch CUDA 环境变量说明列出 CUDA_VISIBLE_DEVICES 对设备可见性的影响。只有在确实设置了该变量时才沿这一分支排查;没有设置并不自动保证驱动和硬件正常。

NVIDIA 路线可以在同一机器的终端先执行:

nvidia-smi --query-gpu=name,driver_version --format=csv

NVIDIA nvidia-smi 文档说明设备和驱动查询。命令不存在、驱动无法通信和正常列出 GPU 是不同现象,保存具体报错再处理。面板里的 CUDA Version 或 CUDA UMD Version 描述驱动支持的信息,不能直接当成当前 PyTorch 包所用 CUDA 版本。

第三步:按官方安装入口修复实际环境

打开PyTorch 官方本地安装选择器,选择实际操作系统、Pip、Python 和目标计算平台;再结合 AI 工具要求的 torch 版本决定安装命令。某些工具固定依赖版本,不能只为追求最新而破坏整套环境。

先检查诊断打印出的解释器所装内容。PowerShell 可让你输入该绝对路径,而不猜测 pip 属于哪个环境:

$toolPython = Read-Host '输入诊断打印出的 Python 绝对路径'
& $toolPython -m pip show torch

安装时把官网命令中的 pip 或 pip3 改为这个解释器的 & $toolPython -m pip 入口,保留官网和工具要求的包名、版本及下载源。安装完成后关闭并重新启动工具进程,再跑 cuda_check.py;安装命令结束不等于运行环境已经切换。

怎样确认问题已解决

需要 cuda_available 为 True、device_count 大于 0、列出的设备符合预期,并实际得到 gpu_tensor_check: [2.0, 4.0]。这个小张量测试用于确认当前进程能创建 CUDA 张量、计算并回传 CPU;不能证明你的大型模型内存足够,也不测业务推理性能。

若 is_available 为 True 但张量操作失败,保留发生在设备分配还是计算阶段的错误,再核对驱动、架构与所装软件的支持。若工具本身仍回退 CPU,对比工具内部和诊断进程的路径与设备设置。

CUDA 可用之后仍慢,下一步查什么?

先在工具内核对输入和模型确实放到目标设备,再定位耗时。本题处理“设备不可用”;设备已经可用时可继续阅读PyTorch Profiler GPU 推理瓶颈检查,把运行耗时与安装问题分开验证。请以该文章显示的具体操作和自己的实际测量为依据。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/32899.html

赞 (0)
AI小管家的头像AI小管家
AI 摘要工具怎么评测?把 ROUGE 文本重叠与事实核对分开
上一篇 1小时前
AI 推理引擎如何分配算子?理解 ONNX Runtime 的执行提供程序
下一篇 1小时前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部