
AMD ROCm 安装文档的 RHEL 版本选择器解析从选择器指令到 dnf 安装落地【免费下载链接】legacy-rocm-buildAMD ROCm™ Software - GitHub Home项目地址: https://gitcode.com/GitHub_Trending/ro/legacy-rocm-build导读本文围绕 legacy-rocm-build 仓库中驱动 ROCm 安装文档交互式体验的 RHEL 版本选择器docs/install/include/rhel-ver-selector.rst展开逐层拆解它的 RST 指令结构、与 GPU/OS 选择器的联动逻辑以及它在 RHEL 8/9/10 上完成 ROCm 安装的完整落地链路。读完本文你将掌握 ROCm 文档如何用selector/selector-option/selected指令把RHEL 版本与AMD GPU 型号绑定也能直接照抄仓库中的amdgpu-install下载、rocm.repo注册与dnf install amdrocm7.14全套命令在 RHEL 系统上完成 ROCm 部署。一、选择器在 ROCm 安装文档中的位置ROCm 的安装主页面 docs/install/rocm.rst 是一张向导式页面用户在页面上一层层选择设备家族fam→ GPU 型号gpu→ 操作系统os→ 安装方法i→ 发行版小版本如 rhel-ver页面内容随之动态收缩最终只展示与当前选择匹配的安装命令。这一连串 include 指令在 rocm.rst 第 34-56 行 中按固定顺序被拼装.. include:: ./include/fam-multi-arch-selector.rst .. include:: ./include/gpu-selector.rst .. include:: ./include/os-selector.rst .. include:: ./include/ror-gpu-selector.rst .. include:: ./include/ubuntu-ver-selector.rst .. include:: ./include/debian-ver-selector.rst .. include:: ./include/rhel-ver-selector.rst .. include:: ./include/oracle-linux-ver-selector.rst .. include:: ./include/rocky-linux-ver-selector.rst .. include:: ./include/sles-ver-selector.rst .. include:: ./include/windows-ver-selector.rst .. include:: ./include/install-method-selector.rstrhel-ver-selector.rst排在 OS 选择器之后承担当用户选定 RHEL 后进一步选择 RHEL 具体版本的职责它与 ubuntu-ver-selector.rst、debian-ver-selector.rst 等文件是同一套模板在不同发行版上的平行实例。页面顶部的元信息rocm.rst 第 1-10 行还通过:selector-toc2: Installation environment为该页挂接了一个专属的安装环境侧边栏 TOC说明选择器不仅控制正文内容还参与页面导航结构。二、RHEL 版本选择器的指令结构逐段解析2.1 外层条件容器.. selected:: osrhel整个文件的第一行.. selected:: osrhel把 RHEL 版本选择器整体包裹在一个条件容器中只有当用户在上一级的 Linux 发行版选择器os-selector.rst中选中RHELRed Hat Enterprise Linux时这一组版本选项才会被渲染出来。在 os-selector.rst 中可以看到 RHEL 是各 GPU 场景下的通用选项例如对gpumi355x gpumi350x gpumi325x场景RHEL 的:toc-label: Red Hat Enterprise Linux与 Ubuntu、Debian、Oracle Linux、SLES 并列展示os-selector.rst 第 5-29 行。2.2 选择器主体.. selector:: RHEL version.. selector:: RHEL version :key: rhel-ver :show-cond: faminstinct famradeon famall.. selector:: RHEL version声明一个名为 RHEL version 的选择器组标题文本就是括号内的第一参数。从实现上看它会被渲染成一个带roleradiogroup语义的分组见下文第三节。:key: rhel-ver为该选择器命名一个键rhel-ver这是后续所有条件表达式rhel-ver10.2等引用的标识符。源码 utils.py 中的normalize_key会把键统一为小写、空格转下划线的规范形式。:show-cond: faminstinct famradeon famall声明该选择器仅在设备家族为 Instinct、Radeon 或 All 时显示即 Ryzen APU 场景下不会出现 RHEL 版本选项对应 os-selector.rst 中 Ryzen 场景没有 RHEL 选项的设计。2.3 版本选项.. selector-option::文件主体由 6 个 RHEL 版本构成10.2、10.0、9.8、9.6、9.4、8.10每个版本是一个selector-option并用:show-cond:声明它面向哪些 GPU用:width:控制其在栅格中的占位宽度。面向主流 Instinct 数据中心的组合width: 2这 6 个版本对以下 Instinct GPU 全量开放rhel-ver-selector.rst 第 7-29 行.. selector-option:: 10.2 :show-cond: gpumi355x gpumi350x gpumi300x gpumi300a gpumi250x gpumi250 gpumi210 gpumi100 :width: 210.2、10.0、9.8、9.6、9.4、8.10 全部可用覆盖 GPUMI355X、MI350X、MI300X、MI300A、MI250X、MI250、MI210、MI100宽度为 Bootstrap 12 列栅格中的 2 列每行可排 6 个版本按钮。MI350P 的组合width: 4.. selector-option:: 10.2 :show-cond: gpumi350p :width: 4MI350P 只支持10.2、9.8、9.6三个版本每个按钮占 4 列rhel-ver-selector.rst 第 31-41 行。MI325X 的组合width: 20%.. selector-option:: 10.2 :show-cond: gpumi325x :width: 20%MI325X 支持10.2、10.0、9.8、9.6、9.4五个版本不含 8.10每个按钮按 20% 宽度排版rhel-ver-selector.rst 第 43-61 行。Radeon 系列的组合width: 6.. selector-option:: 10.2 :show-cond: famradeon :width: 6famradeon场景只提供10.2、9.8两个版本每个占 6 列半行宽rhel-ver-selector.rst 第 63-69 行。All 通用组合width: 2当用户在设备家族选择器中选择 All 时famall分支开放全部 6 个版本10.2、10.0、9.8、9.6、9.4、8.10每个宽度 2 列rhel-ver-selector.rst 第 71-92 行与主流 Instinct 组合保持一致。2.4 GPU × RHEL 版本支持矩阵由 :show-cond: 归纳将上述条件归纳得到 RHEL 版本选择器的完整支持矩阵GPU / 设备家族10.210.09.89.69.48.10按钮宽度MI355X / MI350X / MI300X / MI300A / MI250X / MI250 / MI210 / MI100✔✔✔✔✔✔2 列MI350P✔–✔✔––4 列MI325X✔✔✔✔✔–20%Radeonfamradeon✔–✔–––6 列Allfamall✔✔✔✔✔✔2 列说明该矩阵完全由 rhel-ver-selector.rst 中各选项的:show-cond:推导而来是文档选择器层面的版本可见性声明最终安装兼容性以 兼容性矩阵 为准。三、选择器的底层实现原理源码级selector/selector-option/selected并非 reStructuredText 内建指令而是由 ROCm 文档自研的 Sphinx 扩展提供实现在 docs/extension/rocm_docs_custom/selector/init.py。3.1 三个核心节点指令节点类职责.. selector::/.. selector-dropdown::SelectorGroup渲染一行 radio 分组或下拉框div roleradiogroup或select.. selector-option::SelectorOption渲染一个可点击的 radio 瓦片div roleradio.. selected::/.. selected-content::SelectedContent条件内容容器按data-show-cond控制显隐在setup()selector/init.py 第 465-493 行中这些节点与指令被注册并挂接了env-purge-doc、env-merge-info、env-updated、html-page-context四个事件分别负责清理选择器页面集合、跨文档合并、注入侧边栏和注入 TOC2 上下文。3.2show-cond条件如何变成前端逻辑rhel-ver-selector.rst中大量出现的:show-cond: gpumi355x gpumi350x ...会被 utils.py 的 kv_to_data_attr 解析为 HTML 的data-show-cond属性——把空格分隔的keyvalue列表转成 JSON 对象例如gpumi355x gpumi350x gpumi300x → >.. selector-option:: AMD Instinct MI355X (gfx950) :value: mi355x gfxgfx950SelectorOptionDirective会把value按空格拆词selector/init.py 第 357-373 行第一个不带的 tokenmi355x是该选项自身的值其余gfxgfx950形式的 token 则写入data-selector-extra-bindings在选中该 GPU 时同步绑定gfxgfx950——这个gfx键随后被安装步骤用来选择架构专属的 ROCm 包如amdrocm7.14-gfx950。四、在 RHEL 上安装 ROCm 的完整落地流程选择器的终点是 docs/install/include/200-install.rst 中按osrhelrhel-ver*条件展开的安装步骤。以下是仓库中为 RHEL 准备的完整命令链。4.1 前置注意200-install.rst 第 10-14 行 对 RHEL 10.0 / 9.6 / 9.4 / 8.10以及选择器未列出的 10.2场景给出统一提示如果系统已安装 ROCm 7.2.4 或更早版本请先卸载旧版 ROCm 再继续安装。4.2 方式一安装 amdgpu-install 脚本图形/计算混合场景在wgraphics场景下需要先下载并安装amdgpu-install驱动安装脚本200-install.rst 第 83-125 行。每个 RHEL 版本对应一个独立的 RPMRHEL 版本命令10.2wget https://repo.radeon.com/amdgpu-install/31.40.1/rhel/10.2/amdgpu-install-31.40.1.314001-1.el10.noarch.rpmsudo dnf install ./amdgpu-install-31.40.1.314001-1.el10.noarch.rpm10.0wget https://repo.radeon.com/amdgpu-install/31.40.1/rhel/10.0/amdgpu-install-31.40.1.314001-1.el10.noarch.rpmsudo dnf install ./amdgpu-install-31.40.1.314001-1.el10.noarch.rpm9.8wget https://repo.radeon.com/amdgpu-install/31.40.1/rhel/9.8/amdgpu-install-31.40.1.314001-1.el9.noarch.rpmsudo dnf install ./amdgpu-install-31.40.1.314001-1.el9.noarch.rpm9.6wget https://repo.radeon.com/amdgpu-install/31.40.1/rhel/9.6/amdgpu-install-31.40.1.314001-1.el9.noarch.rpmsudo dnf install ./amdgpu-install-31.40.1.314001-1.el9.noarch.rpm9.4wget https://repo.radeon.com/amdgpu-install/31.40.1/rhel/9.4/amdgpu-install-31.40.1.314001-1.el9.noarch.rpmsudo dnf install ./amdgpu-install-31.40.1.314001-1.el9.noarch.rpm8.10wget https://repo.radeon.com/amdgpu-install/31.40.1/rhel/8.10/amdgpu-install-31.40.1.314001-1.el8.noarch.rpmsudo dnf install ./amdgpu-install-31.40.1.314001-1.el8.noarch.rpm注意 RPM 文件名中的小版本后缀规律RHEL 10.x 对应el10、9.x 对应el9、8.10 对应el8。4.3 方式二注册 ROCm 官方仓库dnf 安装核心包在ipkgman包管理器场景下RHEL 需要手动注册 ROCm 仓库200-install.rst 第 467-572 行。RHEL 10.2 / 10.0 分支的配置如下sudo tee /etc/yum.repos.d/rocm.repo EOF [rocm] nameROCm 7.14.0 baseurlhttps://repo.amd.com/rocm/packages-multi-arch/rhel10/x86_64 enabled1 gpgcheck1 gpgkeyhttps://repo.amd.com/rocm/packages-multi-arch/gpg/rocm.gpg priority50 EOF sudo dnf clean allRHEL 9.8 / 9.6 / 9.4 分支将baseurl换成.../rhel9/x86_64RHEL 8.10 分支换成.../rhel8/x86_64200-install.rst 第 506-572 行。各字段含义nameROCm 7.14.0仓库显示名对应当前文档所描述的 ROCm 7.14.0 版本baseurl按大版本rhel8/rhel9/rhel10区分的多架构 x86_64 仓库地址gpgcheck1gpgkey启用 GPG 签名校验签名公钥来自官方rocm.gpgpriority50设置 dnf 优先级避免与其他仓库的包产生冲突。4.4 安装 ROCm 核心包注册仓库后安装命令同样按osrhel osoracle-linux osrocky-linux分组200-install.rst 第 897-997 行# 安装通用核心包famall 场景 sudo dnf install amdrocm7.14 # 或按 GPU 架构gfx安装专属包例如 sudo dnf install amdrocm7.14-gfx950 # MI355X / MI350X / MI350P sudo dnf install amdrocm7.14-gfx942 # MI325X / MI300X / MI300A sudo dnf install amdrocm7.14-gfx90a # MI250X / MI250 / MI210 sudo dnf install amdrocm7.14-gfx908 # MI100这里正是第三节提到的:value: mi355x gfxgfx950复合绑定发挥作用的地方用户在 GPU 选择器选中具体型号后页面会自动切换到对应的amdrocm7.14-gfxXXX架构包命令。包名中的gfx编号与 GPU 架构一一对应避免安装不匹配的二进制。4.5 驱动安装与重启若使用 runfile 安装器方式内核驱动通过以下命令安装200-install.rst 第 264-266 行bash rocm-installer-7.14.0-7.run depsinstall amdgpu安装 amdgpu 驱动后需要重启系统。包管理器pkgman方式下Instinct / Radeon 设备的 amdgpu 驱动安装指引指向 AMD Instinct 数据中心的原生安装文档Ryzen APU 场景则要求使用系统内置inbox内核驱动。五、选择器之间的联动关系图从用户视角安装页面的交互是一个逐级收敛的决策链设备家族 (fam) → GPU 型号 (gpu) → 操作系统 (os) → RHEL 版本 (rhel-ver) → 安装方法 (i) │ │ │ │ │ │ :value: 附加绑定 │ :show-cond: 精确过滤 │ │ gfxgfx950 等 │ (GPU×版本支持矩阵) │ │ │ │ └──────────── 最终输出 osrhel rhel-verX gfxY 对应的安装命令 ────────────┘fam-multi-arch-selector.rst定义设备家族与用途wcompute/wgraphicsgpu-selector.rst用:value:的复合绑定同时设置gpu与gfx键os-selector.rst在 Linux 发行版层面决定是否出现 RHEL 选项rhel-ver-selector.rst本文主体用:show-cond:将 RHEL 版本收缩到当前 GPU 真正支持的范围install-method-selector.rst决定最终走pkgman/pip/tar/runfile哪条安装路径。上述所有键值都通过data-*属性注入页面 DOM由 selector.js 统一驱动构成一套无刷新、纯前端的条件文档系统。六、快速查阅索引RHEL 版本选择器定义docs/install/include/rhel-ver-selector.rst安装主页面与 include 链docs/install/rocm.rst操作系统发行版选择器docs/install/include/os-selector.rstGPU 型号选择器含gfx绑定docs/install/include/gpu-selector.rst设备家族与用途选择器docs/install/include/fam-multi-arch-selector.rstRHEL 安装步骤amdgpu-install / rocm.repo / dnf installdocs/install/include/200-install.rst选择器 Sphinx 扩展实现docs/extension/rocm_docs_custom/selector/init.pyshow-cond解析工具docs/extension/rocm_docs_custom/utils.py前端交互脚本docs/extension/rocm_docs_custom/selector/static/selector.js结语rhel-ver-selector.rst虽然只是一个不足百行的 RST 片段却是 ROCm 安装文档按需展示体系中的关键一环它通过selectedselectorselector-option三层指令把 RHEL 10.2/10.0/9.8/9.6/9.4/8.10 与从 MI100 到 MI355X 的每一块 AMD GPU 精确配对再配合200-install.rst中的仓库注册与dnf install命令最终让用户选什么、装什么始终一致。理解了这一机制你不仅能在 RHEL 上正确安装 ROCm也能看懂整个 ROCm 文档选择器体系的构建范式——这套模式同样被 Ubuntu、Debian、Oracle Linux、Rocky Linux、SLES、Windows 等平行选择器复用。【免费下载链接】legacy-rocm-buildAMD ROCm™ Software - GitHub Home项目地址: https://gitcode.com/GitHub_Trending/ro/legacy-rocm-build创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考