Ubuntu 24.04 环境准备:安装 ROCm 7.12 + PyTorch + vLLM(以 Ryzen AI Max+ PRO 395 / gfx1151 为例)
Ubuntu 24.04 (Linux) 部署支持 ROCm 7.12 的推理框架部署指南 — 环境准备部分
本节以 AMD Ryzen AI Max+ PRO 395(APU,gfx1151 架构) 为参考,介绍在 Ubuntu 24.04 上完成以下步骤:
- 清理已有的 ROCm / AMD 相关环境
- 使用官方
apt源安装 ROCm 7.12.0 - 基于 ROCm 7.12.0 安装 PyTorch 2.9.1
- 通过官方 ROCm vLLM Docker 镜像直接拉起推理服务
官方文档参考:
其他 GPU 架构(如 Instinct MI350X=gfx950、MI300X=gfx94X、RX 9070=gfx120X、RX 7900=gfx110X 等)可参考上述官方链接的硬件选择器,只需把
gfx1151替换为对应架构名即可。
一、清理已有的 ROCm / AMD 相关软件
如果系统里已经装过旧版 ROCm,建议先清理,避免与 ROCm 7.12 冲突:
sudo apt remove 'rocm*' 'amdrocm*' 'amdgpu-dkms*' -y
sudo apt autoremove -y二、准备系统环境(Ryzen APU 专用)
2.1 安装 OEM 内核(6.14)
Ryzen AI APU 在 Ubuntu 24.04 上需要使用 OEM 内核 6.14,才能正确驱动 iGPU:
sudo apt update
sudo apt install -y linux-image-6.14.0-1018-oem
# 装完请重启
sudo reboot2.2 安装 ROCm 依赖与 Python
sudo apt update
sudo apt install -y libatomic1 libquadmath0
sudo apt install -y python3.12 python3.12-venv2.3 配置 GPU 访问权限
将当前用户加入 render 和 video 组(重启或重新登录后生效):
sudo usermod -a -G render,video "$LOGNAME"(可选)使用 udev 规则授予系统级 GPU 访问权限:
sudo tee /etc/udev/rules.d/70-amdgpu.rules <<'EOF'
KERNEL=="kfd", GROUP="render", MODE="0666"
SUBSYSTEM=="drm", KERNEL=="renderD*", GROUP="render", MODE="0666"
EOF
sudo udevadm control --reload-rules
sudo udevadm trigger三、安装 ROCm 7.12.0(apt / pkgman 方式)
说明:Ryzen AI APU 使用 Ubuntu 24.04 自带的 inbox kernel 驱动,无需单独安装
amdgpu-dkms;Instinct / Radeon 独立 GPU 请按官方文档额外安装amdgpu驱动。
3.1 注册 ROCm apt 仓库
# 下载并写入 GPG key
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
wget https://repo.amd.com/rocm/packages/gpg/rocm.gpg -O - | \
gpg --dearmor | sudo tee /etc/apt/keyrings/amdrocm.gpg > /dev/null
# 注册 Ubuntu 24.04 的 ROCm 7.12 源
sudo tee /etc/apt/sources.list.d/rocm.list <<'EOF'
deb [arch=amd64 signed-by=/etc/apt/keyrings/amdrocm.gpg] https://repo.amd.com/rocm/packages/ubuntu2404 stable main
EOF
sudo apt update3.2 安装 ROCm 7.12 核心包(gfx1151)
sudo apt install -y amdrocm7.12-gfx1151如果你使用其它架构,请替换为对应 meta 包,例如:
- Instinct MI350X:
amdrocm7.12-gfx950- Instinct MI300X / MI325X:
amdrocm7.12-gfx94x- Radeon RX 9000 系列:
amdrocm7.12-gfx120x- Radeon RX 7000 系列:
amdrocm7.12-gfx110x- Ryzen AI 300 / Strix Halo(gfx1150):
amdrocm7.12-gfx1150
3.3 配置环境变量
以"当前用户"的方式配置(推荐):
tee --append ~/.bashrc <<'EOF'
# BEGIN ROCm environment configuration
export LD_LIBRARY_PATH=/opt/rocm/core/lib/rocm_sysdeps/lib:/opt/rocm/core/lib
# END ROCm environment configuration
EOF
source ~/.bashrc若需系统级配置:
sudo tee /etc/profile.d/set-rocm-env.sh <<'EOF'
export LD_LIBRARY_PATH=/opt/rocm/core/lib/rocm_sysdeps/lib:/opt/rocm/core/lib
EOF
sudo chmod +x /etc/profile.d/set-rocm-env.sh
source /etc/profile.d/set-rocm-env.sh3.4 验证安装
依次执行以下命令,应能看到 GPU 信息与 ROCm 版本:
rocminfo
amd-smi version
amd-smi monitoramd-smi version 输出示例:
AMDSMI Tool: 26.3.0+2bd1678d3d | AMDSMI Library version: 26.3.0 | ROCm version: 7.12.0 | amdgpu version: 6.16.13 | ...rocminfo 中应能看到 AMD RYZEN AI MAX+ PRO 395 w/ Radeon 8060S 这样的条目。
四、安装 PyTorch(ROCm 7.12 版)
官方推荐使用 Python 虚拟环境 + pip 安装针对 gfx1151 的 ROCm PyTorch。
4.1 创建并激活虚拟环境
python3.12 -m venv ~/rocm-venv
source ~/rocm-venv/bin/activate4.2 安装 ROCm 版 PyTorch
python -m pip install \
--index-url https://repo.amd.com/rocm/whl/gfx1151/ \
torch torchvision torchaudio如需与 vLLM 0.16 保持版本一致,可使用:
bashpython -m pip install \ --index-url https://repo.amd.com/rocm/whl/gfx1151/ \ "torch==2.9.1+rocm7.12.0" \ "torchaudio==2.9.0+rocm7.12.0" \ "torchvision==0.24.0+rocm7.12.0"
4.3 验证 PyTorch 是否能用 ROCm
python -c "import torch; print(torch.__version__); print('HIP available:', torch.cuda.is_available())"预期输出 True 则代表 PyTorch + ROCm 安装成功。
五、安装 vLLM(Docker 方式,推荐)
vLLM 官方已提供针对 gfx1151 的 ROCm 7.12 Docker 镜像,开箱即用,避免手动编译 Triton / FlashAttention 的复杂度。
前置条件:系统已安装 Docker。 可参考:https://docs.docker.com/engine/install/ubuntu/
5.1 拉取 ROCm vLLM 镜像(gfx1151)
docker pull rocm/vllm:rocm7.12.0_gfx1151_ubuntu24.04_py3.12_pytorch_2.9.1_vllm_0.16.0其它架构的镜像命名规则一致,把
gfx1151替换即可,例如:
rocm/vllm:rocm7.12.0_gfx950-dcgpu_ubuntu24.04_py3.12_pytorch_2.9.1_vllm_0.16.0(MI350X)rocm/vllm:rocm7.12.0_gfx94X-dcgpu_ubuntu24.04_py3.12_pytorch_2.9.1_vllm_0.16.0(MI300X / MI325X)rocm/vllm:rocm7.12.0_gfx120X-all_ubuntu24.04_py3.12_pytorch_2.9.1_vllm_0.16.0(RX 9000 系列)
5.2 启动容器
mkdir -p ~/models
docker run -it --rm \
--network=host \
--group-add=video \
--ipc=host \
--cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
--device /dev/kfd \
--device /dev/dri \
-v ~/models:/app/models \
-e HF_HOME="/app/models" \
-e HF_TOKEN="hf_***" \
rocm/vllm:rocm7.12.0_gfx1151_ubuntu24.04_py3.12_pytorch_2.9.1_vllm_0.16.0 \
bash
HF_TOKEN需替换为你在 Hugging Face 生成的 token(Gemma / Llama 等受限模型必须先在模型页面点击 Agree & Access)。
5.3 容器内已知问题的临时解决办法
ROCm 7.12 Docker 镜像中 vLLM 启动时可能因为路径解析问题失败,按官方 Release Notes 建议,在启动 vLLM 之前追加以下环境变量:
export LD_LIBRARY_PATH=/opt/python/lib/python3.12/site-packages/_rocm_sdk_core/lib:$LD_LIBRARY_PATH5.4 在容器内验证 vLLM
python -c "import vllm; print('vLLM:', vllm.__version__)"
python -c "import torch; print('PyTorch:', torch.__version__, 'HIP:', torch.cuda.is_available())"5.5 启动一个 Gemma 4 E4B 推理服务(可选)
vllm serve google/gemma-4-E4B-it \
--dtype bfloat16 \
--max-model-len 8192 \
--max-num-seqs 32服务就绪后可用 curl http://127.0.0.1:8000/v1/models 检查模型列表,接下来的性能测试脚本请参考 vLLM 部署教程。
六、常见问题
Q1: 安装完 ROCm 后 `rocminfo` 没有列出 GPU?
- 确认已执行 OEM 内核 6.14 的安装并重启系统;
- 确认当前用户在
render/video组里,groups命令里能看到; - 重新登录一次当前用户(或重启),让组权限生效。
Q2: Docker 里 /dev/kfd 不存在?
- 宿主机先执行
ls /dev/kfd /dev/dri确认设备存在; - 确认 Docker 服务已启动,并检查
docker info输出中Runtimes能找到默认 runtime; - Ryzen APU 使用 inbox driver 时,
/dev/kfd只有在 OEM 内核下才会出现。
Q3: 拉取 ROCm vLLM 镜像很慢?
可以考虑为 Docker 配置国内镜像加速(/etc/docker/daemon.json),或者使用 docker pull 时挂代理;
也可以先 docker save 在有网环境下缓存好再 docker load 到目标机器。
完成上述步骤后,即可继续按模型进入: