You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GKE Autopilot集群中PyTorch无法识别CUDA GPU的排查求助

在GKE Autopilot集群中让PyTorch识别GPU的调试步骤
  • 确认Pod的GPU资源配置
    GKE Autopilot要求在Pod配置里明确申请GPU资源,否则容器无法访问节点GPU。检查你的Deployment/Pod yaml是否包含:

    resources:
      limits:
        nvidia.com/gpu: 1  # 根据需求调整数量
    

    执行kubectl describe pod <pod-name>,查看Resources部分的GPU限制是否生效,同时检查Events栏有没有资源调度相关报错。

  • 验证容器内GPU设备挂载状态
    除了nvidia-smi,直接检查设备文件是否存在:

    ls -la /dev/nvidia*
    

    正常应看到/dev/nvidia0、/dev/nvidiactl、/dev/nvidia-uvm等设备。如果缺失,说明GPU设备未正确挂载到容器,可能是集群的NVIDIA Device Plugin组件运行异常。

  • 核对PyTorch与CUDA驱动的兼容性
    虽然torch.version.cuda显示11.4,仍需确认PyTorch的CUDA runtime和主机驱动版本完全兼容。执行以下命令查看PyTorch的CUDA依赖:

    ldd $(python -c "import torch; print(torch.__file__)") | grep cuda
    

    若输出未指向系统CUDA库,说明PyTorch自带的runtime和驱动小版本不匹配。可重新安装适配470.x系列驱动的PyTorch版本:

    pip3 install torch==1.10.1+cu113 torchvision==0.11.2+cu113 torchaudio==0.10.1+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
    
  • 检查容器运行时是否为NVIDIA Runtime
    执行以下命令确认容器使用了正确的运行时:

    cat /proc/self/cgroup | grep nvidia
    

    若无输出,说明容器未使用NVIDIA Container Runtime,导致GPU无法被PyTorch识别。GKE Autopilot通常会自动配置,但偶尔可能出现异常,需确认集群GPU节点的runtime配置。

  • 打印PyTorch CUDA初始化日志
    开启调试日志定位具体错误:

    import torch
    import os
    os.environ['CUDA_LAUNCH_BLOCKING'] = '1'
    os.environ['TORCH_USE_CUDA_DSA'] = '1'
    print(torch.cuda.is_available())
    print(torch.cuda.device_count())
    print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else "No GPU detected")
    

    或者直接执行:

    python -c "import torch; torch.cuda.init(); print(torch.cuda.is_available())"
    

    日志会暴露CUDA初始化时的具体问题,比如库加载失败、设备权限不足等。

  • 验证容器内用户权限
    确认运行PyTorch的用户有权限访问GPU设备:

    groups $USER
    

    查看是否包含video组(GPU设备通常归属该组)。若没有,可临时切换root用户测试,或在容器启动时将用户加入video组。


内容的提问来源于stack exchange,提问作者ReddoHoku72

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 01:13:19