ROCm 7.14 安装前置条件完整指南:系统校验、依赖配置与 GPU 访问权限设置
【免费下载链接】legacy-rocm-buildAMD ROCm™ Software - GitHub Home项目地址: https://gitcode.com/GitHub_Trending/ro/legacy-rocm-build
本文以 AMD ROCm 官方仓库 docs/install/include/100-prerequisites.rst 为核心骨架,系统讲解在 Linux(Ubuntu、Debian、RHEL、Oracle Linux、Rocky Linux、SLES)、Windows 与 WSL2 环境中安装 ROCm 之前必须完成的全部前置工作。读完本文,你将掌握:如何确认系统与硬件是否受支持、如何为 Docker 容器补齐安装所需的基础软件、如何完成企业级 Linux 的系统注册与仓库配置、如何为 pip 安装方式准备受支持的 Python 版本,以及如何通过组成员身份或 udev 规则两种方式为普通用户授予 GPU 访问权限。
一、概述:为什么前置条件决定 ROCm 安装成败
ROCm(Radeon Open Compute)是一个由固件、内核驱动与用户态组件协同构成的复杂软件栈。安装前若系统缺少必要依赖、仓库未注册、GPU 设备节点权限不正确,后续即使安装命令执行成功,也会出现设备不可见、rocminfo无输出或应用无法访问 GPU 等问题。
在 docs/install/rocm.rst 的安装流程编排中,前置条件章节(_rocm-prerequisites,对应 docs/install/include/100-prerequisites.rst)位于安装方法选择与正式安装步骤之间,是每次安装前必须逐项核对的一环。该文档同时服务于四种安装方式(软件包管理器 apt/dnf/zypper、pip、Tarball、Runfile 安装器,详见 docs/install/include/050-install-methods.rst),不同方式对前置依赖的要求略有差异。
该文档采用条件化选择器(.. selected::指令)组织内容,依据操作系统、安装方式、GPU 家族与发行版版本动态渲染对应的前置步骤。读者在实际操作时,只需关注与自己环境匹配的分支即可。
二、第一步:通过兼容性矩阵确认系统受支持
无论使用何种操作系统,安装 ROCm 前都必须先确认系统满足全部前置条件。官方给出的第一项检查就是确认硬件与系统组合是否在支持列表内,详见兼容性矩阵。
兼容性矩阵(docs/compatibility/compatibility-matrix.rst)按照 AMD Instinct、AMD Radeon、AMD Ryzen 三大设备家族分类,逐 GPU 型号列出支持的操作系统、内核驱动(amdgpu)与固件版本要求。文档明确指出:
ROCm 依赖固件、驱动与用户态组件之间协调一致的版本栈。维持这些层之间的版本对齐,可确保 GPU 按预期工作并保持性能,尤其对 AMD 数据中心产品至关重要。
因此,在开始任何安装操作之前,请先到兼容性矩阵页面确认你的 GPU/APU 型号、操作系统发行版与版本均在支持范围内,并核对内核驱动与固件版本要求。若你的 GPU 不在列表中,可能属于 TheRock nightly 构建的社区支持范畴,需按对应指引处理(见 docs/install/rocm.rst 中的说明)。
三、Linux 环境:Docker 容器内安装的必备软件
若在 Docker 容器内安装 ROCm,官方专门提供了提示块(dropdown):Docker 镜像通常只包含最小安装集,部分关键软件可能缺失,会导致 ROCm 安装失败。以下命令按发行版与安装方式组合给出。
3.1 Ubuntu / Debian 系
- 软件包管理器(pkgman)安装:
apt update apt install sudo wget gpg- pip 安装:
apt update apt install sudo cmake libgfortran5- Tarball 安装:
apt update apt install sudo wget python3- Runfile 安装:
apt update apt install sudo wget curl python3 rsync3.2 RHEL / Rocky Linux / Oracle Linux 系
- 软件包管理器 / pip / Tarball 安装:
dnf install sudo wget- Runfile 安装:
dnf install sudo wget rsync3.3 SLES 系
- 软件包管理器安装:
zypper install sudo wget SUSEConnect- pip 安装:
zypper install sudo wget cmake libgfortran5- Tarball 安装:
zypper install sudo wget- Runfile 安装:
zypper install sudo wget rsync可以看到,各安装方式的基础依赖差异主要在gpg(仓库签名密钥校验)、curl/rsync(下载与同步)、cmake/libgfortran5(编译运行库)与python3上,读者可按需取舍。
四、Windows 环境:安装前的系统准备
在 Windows 上安装 ROCm(pip 或 Tarball 方式,见 docs/install/include/install-method-selector.rst)之前,需要完成两项准备工作:
4.1 卸载冲突软件
移除任何已有的 Windows 版 HIP SDK 安装及其他冲突的 AMD 图形软件。使用 GUI 卸载时,路径为:
控制面板 > 程序 > 卸载程序4.2 关闭可能干扰 ROCm 的 Windows 安全功能
必须关闭以下两项安全功能,否则会干扰 ROCm 的正常运行:
- WDAG(Windows Defender Application Guard):在“控制面板 > 程序 > 启用或关闭 Windows 功能”中,取消勾选“Microsoft Defender Application Guard”;
- SAC(Smart App Control,智能应用控制):在“设置 > 隐私和安全性 > Windows 安全 > 应用和浏览器控制 > 智能应用控制设置”中,将其设为关闭。
说明:Windows 安装方式下,前置条件章节仅要求确认系统受支持并完成上述清理与安全设置,不涉及 Linux 的仓库注册与内核驱动步骤(AMD 显卡驱动通过 AMD Software: Adrenalin Edition 提供,见 docs/install/include/200-install.rst)。
五、WSL2 环境:先安装 WSL2 与对应 Ubuntu 版本
若使用 Windows Subsystem for Linux 2(WSL2)环境安装 ROCm,需先在 Windows 系统上安装 WSL2 及对应版本的 Ubuntu(26.04 / 24.04 / 22.04,具体取决于你的配置),然后在 WSL2 环境中完成后续全部指令。安装 WSL2 的方法参考微软官方文档(Microsoft Learn 的 "How to install Linux on Windows with WSL2")。
WSL2 环境还有一项额外要求(针对 Tarball 等构建场景):构建 ROCDXG 库需要GCC 11.4 或更高版本以及CMake 3.15 或更高版本。结合依赖安装命令:
sudo apt install libatomic1 libquadmath0 gcc g++ cmake六、Ryzen APU 用户:Ubuntu 24.04 需要安装 OEM 内核
对于 Ryzen APU 用户,官方特别标注:Ryzen APU(gfx1150、gfx1151、gfx1152、gfx1153 和 gfx1103)在 Ubuntu 24.04 上需要 OEM 内核 6.14。安装命令:
sudo apt update && sudo apt install linux-oem-24.04c安装完成后必须重启系统,否则新内核不会生效。该要求同时出现在安装方式分支(pkgman/pip/tar)与图形(graphics)工作负载分支中,且在各分支内均以可展开提示(dropdown)或独立小节形式重复出现,说明这是 Ryzen APU 平台上易被忽视的关键前置项。
七、企业级 Linux:注册系统与更新
7.1 注册 RHEL 系统
注册 RHEL 系统以启用 Red Hat 仓库访问权限,确保能够下载和安装软件包。RHEL 10.x 分支:
subscription-manager register --username <username> --password <password>RHEL 9.x / 8.10 分支(额外执行自动订阅绑定):
subscription-manager register --username <username> --password <password> subscription-manager attach --auto7.2 注册 SLES 系统
sudo SUSEConnect -r <REGCODE>7.3 更新系统
注册完成后应更新系统至最新软件包,这对较旧版本 RHEL/SLES 上的新硬件尤为重要。
RHEL 各版本对应命令(--releasever指定目标版本,--exclude=\*release\*避免更新 release 相关包):
# RHEL 10.2 sudo dnf update --releasever=10.2 --exclude=\*release\* # RHEL 10.0 sudo dnf update --releasever=10.0 --exclude=\*release\* # RHEL 9.8 / 9.6 / 9.4 sudo dnf update --releasever=9.8 --exclude=\*release\* sudo dnf update --releasever=9.6 --exclude=\*release\* sudo dnf update --releasever=9.4 --exclude=\*release\* # RHEL 8.10 sudo dnf update --releasever=8.10 --exclude=\*release\*SLES 更新命令:
sudo zypper updateOracle Linux(软件包管理器方式)更新命令:
# Oracle Linux 10 sudo dnf update --releasever=10.1 --exclude=\*release\* # Oracle Linux 9 sudo dnf update --releasever=9.7 --exclude=\*release\* # Oracle Linux 8 sudo dnf update --releasever=8.10 --exclude=\*release\*八、补充软件仓库:EPEL 与 CodeReady Builder
ROCm 安装包依赖的某些软件包不在默认软件仓库中,因此需要在 RHEL/Oracle Linux/Rocky Linux 上额外启用对应仓库。这部分对 graphics 工作负载与软件包管理器方式均有要求。
8.1 RHEL 系列
- RHEL 10.2 / 10.0:
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm sudo rpm -ivh epel-release-latest-10.noarch.rpm sudo dnf config-manager --enable codeready-builder-for-rhel-10-x86_64-rpms- RHEL 9.8 / 9.6 / 9.4:
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm sudo rpm -ivh epel-release-latest-9.noarch.rpmsudo dnf config-manager --enable codeready-builder-for-rhel-9-x86_64-rpms- RHEL 8.10:
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo rpm -ivh epel-release-latest-8.noarch.rpmsudo dnf config-manager --enable codeready-builder-for-rhel-8-x86_64-rpms8.2 Oracle Linux 系列
Oracle Linux 使用crb命令启用 CodeReady Builder 仓库:
# Oracle Linux 10 / 9 / 8 通用步骤 wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm sudo rpm -ivh epel-release-latest-10.noarch.rpm sudo crb enable(Oracle Linux 9 与 8 对应替换epel-release-latest-9/8.noarch.rpm下载链接。)
8.3 Rocky Linux 系列
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm sudo rpm -ivh epel-release-latest-9.noarch.rpm sudo crb enable九、安装附加运行库:libatomic 与 libquadmath
部分 ROCm 工具依赖libatomic和libquadmath库才能正确运行,需使用各发行版的包管理器安装。该要求同时适用于 graphics 工作负载与 pkgman/pip/tar 安装方式分支。
| 发行版 | 命令 |
|---|---|
| Ubuntu / Debian | sudo apt install libatomic1 libquadmath0 |
| RHEL / Oracle Linux / Rocky Linux | sudo dnf install libatomic libquadmath |
| SLES | sudo zypper install libatomic1 libquadmath0 |
| WSL2 | sudo apt install libatomic1 libquadmath0 gcc g++ cmake |
注:WSL2 分支中额外附带 GCC 与 CMake,用于构建 ROCDXG 库(见第五节)。
十、pip 安装方式:准备受支持的 Python 版本
若选择 pip 安装方式(ROCm 组件以 Python wheel 包形式安装在虚拟环境中,详见 docs/install/include/000-intro.rst),必须预先安装受支持的 Python 版本。官方文档按发行版与版本给出了推荐命令,且要求同时安装venv模块或pip组件:
| 系统 | Python 版本 | 命令 |
|---|---|---|
| Ubuntu 26.04 | Python 3.14 | sudo apt install python3.14 python3.14-venv |
| Ubuntu 24.04 | Python 3.12 | sudo apt install python3.12 python3.12-venv |
| Ubuntu 22.04 | Python 3.11 | sudo apt install python3.11 python3.11-venv |
| Debian 13 | Python 3.13 | sudo apt install python3.13 python3.13-venv |
| Debian 12 | Python 3.11 | sudo apt install python3.11 python3.11-venv |
| RHEL 10.x | Python 3.12 | sudo dnf install python3.12 python3.12-pip |
| RHEL 9.x / 8.10 | Python 3.11 | sudo dnf install python3.11 python3.11-pip |
| Oracle Linux 10 | Python 3.12 | sudo dnf install python3.12 python3.12-pip |
| Oracle Linux 9 / 8 | Python 3.11 | sudo dnf install python3.11 python3.11-pip |
| Rocky Linux | Python 3.11 | sudo dnf install python3.11 python3.11-pip |
| SLES 16.0 | Python 3.13 | sudo zypper install -y python313 python313-pip |
| SLES 15.7 | Python 3.11 | sudo zypper install -y python311 python311-pip |
| Windows | 3.11 / 3.12 / 3.13 / 3.14 | 从官方 Python 下载页安装 |
pip 方式安装完成后,可通过pip freeze | grep rocm、which rocm-sdk、ls .venv/bin等命令检查安装内容(见 docs/install/include/300-post-install.rst)。另外,rocm元包支持通过 extra 组合按需安装组件,例如rocm[libraries,devel],可选 extra 包括libraries(预编译数学与 ML 宿主库,PyTorch/JAX 必需)、devel(编译器、CMake 配置、头文件与静态库)、device-<gfx>(指定目标的预编译 GPU 内核)与profiler等,完整对照表见 docs/install/include/pip-packages-table.rst。
十一、GPU 访问权限配置:组成员身份 vs udev 规则
这是 Linux 安装方式(pkgman / pip / tar)与 graphics 工作负载下最关键的前置配置。ROCm 提供两种主流的 GPU 访问权限配置方法,各有权衡,选择取决于你的具体需求与系统管理偏好。
11.1 方式一:组成员身份(Group membership)
默认情况下,GPU 访问由 Linux 系统组的video和render成员身份控制。其中video组传统上负责视频设备访问,render组通过 DRM render 节点管理 GPU 渲染。
将当前用户加入这两个组:
# Add the current user to the render and video groups sudo usermod -a -G render,video $LOGNAME原理说明:
render组对应 DRM render 节点(/dev/dri/renderD*),现代 AMD GPU 的计算访问(通过 ROCk 内核驱动与 KFD 设备)依赖该节点;加入组后新会话即可访问设备节点。该方式管理粒度适中,适合大多数单机开发场景。
11.2 方式二:udev 规则(系统级)
udev 规则是一种灵活的系统级设备权限管理方式,无需管理用户组,同时支持细粒度的 GPU 访问控制。启用 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规则解释:
KERNEL=="kfd":匹配 AMD GPU 计算设备节点(Kernel Fusion Driver,ROCk 使用的计算接口);SUBSYSTEM=="drm", KERNEL=="renderD*":匹配 DRM 子系统下的所有 render 节点;GROUP="render":将设备节点归属render组;MODE="0666":向所有用户开放读写权限(全局可访问);udevadm control --reload-rules与udevadm trigger:重载规则并对现有设备重新触发,使新规则立即生效。
11.3 生效方式
无论选择哪种方式,修改后都需要重启系统以应用全部设置(官方 note 明确要求 reboot)。
十二、前置条件清单速查
| 检查项 | Linux | Windows | WSL2 |
|---|---|---|---|
| 确认系统受支持(兼容性矩阵) | 必须 | 必须 | 必须 |
| Docker 容器补装基础软件 | 按需 | — | 按需 |
| 卸载旧 HIP SDK / 冲突图形软件 | — | 必须 | — |
| 关闭 WDAG 与 SAC | — | 必须 | — |
| 安装 WSL2 与对应 Ubuntu 版本 | — | — | 必须 |
| Ryzen APU 安装 OEM 内核 6.14(Ubuntu 24.04) | 按需 | — | 按需 |
| 注册 RHEL / SLES 系统 | 按需 | — | — |
| 更新系统软件包 | 建议 | — | — |
| 启用 EPEL / CodeReady Builder 仓库 | 按需 | — | — |
| 安装 libatomic / libquadmath | 必须 | — | 必须(含 gcc/g++/cmake) |
| 安装受支持的 Python(pip 方式) | 必须 | 必须 | — |
| 配置 GPU 访问权限(组 / udev) | 必须 | — | 必须 |
完成上述前置条件后,即可进入正式安装阶段:注册 ROCm 软件仓库(docs/install/include/200-install.rst)并安装核心包(如sudo apt install amdrocm7.14或对应amdrocm7.14-gfxXXX设备包),随后通过rocminfo、amd-smi version验证安装(docs/install/include/300-post-install.rst)。前置条件中的每一项疏漏,都可能表现为驱动加载失败、设备不可枚举或权限拒绝,因此在安装前逐项核对本清单,是确保 ROCm 一次安装成功的最有效手段。
【免费下载链接】legacy-rocm-buildAMD ROCm™ Software - GitHub Home项目地址: https://gitcode.com/GitHub_Trending/ro/legacy-rocm-build
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考