权限配置:被忽视的“第一公里”

很多刚接触 AMD Instinct GPU 的朋友,最容易在“环境配置”这一步劝退。其实只要理清顺序,避开几个常见的权限坑,搭建过程非常顺畅。我们直接从 DevCloud 实例创建开始,打造一个干净、可控的推理环境。

首先,操作系统建议选择 Ubuntu 22.04 LTS,这是目前对 ROCm 7.x 支持最成熟的版本。实例创建好并登录后,千万不要急着装驱动。ROCm 依赖特定的设备节点权限,默认情况下普通用户无法访问 /dev/kfd/dev/dri。你必须执行以下命令,将当前用户加入 videorender 用户组:

sudo usermod -aG video,render $USER

这一步看似简单,却是 80% 初学者遇到“驱动装好了但显卡不识别”问题的根源。video 组赋予用户对视频输出设备的控制权,而 render 组则允许用户直接访问 GPU 进行渲染和计算。如果不加这两个组,后续任何调用 GPU 的程序都会因为"Permission denied"而失败。

重点来了: 执行完上述命令后,务必重启系统sudo reboot)。新的组权限只有在重新登录会话后才会生效。重启后,可以用 groups $USER 确认自己是否已在这两个组中,这是后续所有操作能正常进行的基石。

驱动验证:一眼看懂状态好坏

接下来安装 ROCm 7.x 驱动。建议直接添加 AMD 官方软件源进行安装,避免使用第三方打包版本以防内核模块不匹配。安装完成后,先别急着跑深度学习框架,用 rocm-smi 命令检查显卡状态。这是判断驱动是否正常的“听诊器”。

正常输出示例:
当你输入 rocm-smi 后,如果看到类似下面的表格,清晰列出了 GPU 的温度、功耗、显存使用率及频率策略,说明内核态驱动工作正常:

========================================= ROCm System Management Interface =========================================
=================================================== Concise Info ===================================================
Device  [Model : Revision]    Temp        Power     Partitions      SCLK    MCLK    Fan  Perf  PwrCap  VRAM%  GPU%  
        Name (20 chars)       (Junction)  (Socket)  (Mem, Compute)  (MHz)   (MHz)   RPM  Level (W)     (MB)   (%)   
0       [0x7312 : 0x00]       45.0°C      65.0W     NPS1, SPX       1300    1600    0    auto  300.0   12%    0%    
        AMD Instinct MI250X                                                                                         
====================================================================================================================

异常输出示例:
如果终端报错 No devices found 或者直接无输出,甚至提示 Permission denied,那说明底层驱动未加载或权限配置失败。此时应立即检查 /dev/kfd/dev/dri 设备节点是否存在,并回想是否漏掉了重启步骤。

更关键的一步是验证开发环境。运行 rocminfo 确认系统识别到的 GPU 架构代码(如 gfx90agfx942 等),记下这个代码,它在下一步编译 PyTorch 时是必填项。接着,尝试用 hipcc 编译一个简单的 Hello World HIP 程序,如果能成功输出且无链接错误,才代表你的开发环境真正就绪。

一键检查脚本:半小时内搞定环境

为了让大家少走弯路,我写了一个简单的 Shell 脚本,自动验证内核版本、设备节点及编译器可用性。你可以直接复制到终端运行,它能帮你快速定位问题所在。

#!/bin/bash

echo ">>> 开始检查 ROCm 环境就绪状态..."

# 1. 检查用户组
if groups $USER | grep -q 'video' && groups $USER | grep -q 'render'; then
    echo "[OK] 用户组配置正确 (video, render)"
else
    echo "[ERROR] 用户缺少 video 或 render 组权限!请执行:sudo usermod -aG video,render \$USER 并重启。"
    exit 1
fi

# 2. 检查设备节点
if [ -c /dev/kfd ] && [ -d /dev/dri ]; then
    echo "[OK] 设备节点 /dev/kfd 和 /dev/dri 存在"
else
    echo "[ERROR] 设备节点缺失,驱动可能未加载。"
    exit 1
fi

# 3. 检查 rocm-smi
if command -v rocm-smi &> /dev/null; then
    if rocm-smi &> /dev/null; then
        echo "[OK] rocm-smi 运行正常,GPU 已识别"
        rocminfo | grep "Name:" | head -n 1
    else
        echo "[ERROR] rocm-smi 执行失败,请检查驱动安装。"
        exit 1
    fi
else
    echo "[ERROR] 未找到 rocm-smi 命令,请确认 ROCm 是否安装。"
    exit 1
fi

# 4. 检查 hipcc 编译器
if command -v hipcc &> /dev/null; then
    echo "[OK] hipcc 编译器可用,版本信息:"
    hipcc --version | head -n 1
else
    echo "[ERROR] 未找到 hipcc 编译器,开发环境不完整。"
    exit 1
fi

echo ">>> 环境检查通过!可以开始安装 PyTorch 了。"

运行这个脚本,如果全部显示 [OK],恭喜你,最劝退的环境配置阶段已经拿下。接下来,你就可以放心地进入 PyTorch 源码编译和 vLLM 部署环节,而不用担心底层硬件调用的问题了。这套流程旨在让你在半小时内完成环境就绪,为后续的大模型推理扫清障碍,建立动手的信心。

200小时GPU算力已就位,快来领取:https://marketing.csdn.net/questions/Q2604140858304426315?utm_source=AIpaper 在这里插入图片描述

Logo

免费领 150 小时云算力,进群参与显卡、AI PC 幸运抽奖

更多推荐