
AMD ROCm 官方文档仓库完全指南5 分钟本地构建文档站1 条命令生成发布日志【免费下载链接】legacy-rocm-buildAMD ROCm™ Software - GitHub Home项目地址: https://gitcode.com/GitHub_Trending/ro/legacy-rocm-build想搞清楚官方 ROCm 文档是怎么做出来的还是想亲手改一改那张兼容性矩阵这个仓库就是 AMD ROCm 官方文档的源头完整的文档源码、Sphinx 构建流水线、发布 changelog 自动化工具全都在里面。这篇文章带你从 clone 到本地出页再一路钻到工具链内部。它到底干什么ROCm 文档的中央厨房先说清楚这个仓库不是ROCm 软件栈本身。驱动、rocBLAS、HIP 这些组件都住在各自的仓库里。这里放的是另一样东西文档源码全集安装指南、兼容性矩阵、组件清单、GPU 架构参考目录都在docs/下构建流水线根目录CMakeLists.txt Sphinx把docs/变成你在线上看到的网站发布工具链tools/autotag/管 changelog 生成tools/precision-support/管精度支持审计一句话你在浏览器里读到的 ROCm 官方文档就是从这堆文件里印出来的。坦白讲一个背景README 顶部标注了本仓库将逐步让位于 TheRock 项目。但这不妨碍它的价值——想看懂 ROCm 文档是怎么生产出来的这里是目前最完整的一份活样本。runfile 安装器主菜单截图这类带图安装教程全部由本仓库docs/install/目录排版产出。看完家底下一步当然是跑起来。5 分钟跑通本地两条命令起出文档站这一节回答一个问题从零 clone 到浏览器里看到渲染结果要多久不急的话走官方 CMake 流水线# 1. 拉取源码 git clone https://gitcode.com/GitHub_Trending/ro/legacy-rocm-build cd legacy-rocm-build # 2. 配置。BUILD_DOCS 默认开启 # cmake/Modules/Dependencies.cmake 在找不到 rocm-cmake 时会自动 FetchContent 拉取 cmake -B build # 3. 构建文档产物为 html 并安装到 doxygen 目录 cmake --build build赶时间的话docs/contribute/building.md里记着一条更直接的捷径venv sphinx 两步走# 建干净虚拟环境装文档构建依赖sphinx、主题、扩展一份 requirements 全包 python3 -mvenv .venv .venv/bin/python -m pip install -r docs/sphinx/requirements.txt # 构建 html。-T 打印完整报错-E 不复用旧缓存 .venv/bin/python -m sphinx -T -E -b html -d _build/doctrees \ -D languageen docs _build/html完事用浏览器打开_build/html/index.html从docs/目录内运行的话产物在docs/_build/html/。页面能打开、左侧导航树正常冒烟测试就算过了。页是出来了那页面里的每一块内容源码到底存在哪3 分钟目录巡礼文档源码住在哪里对着目录看五分钟建立空间感docs/install/、docs/reference/、docs/components/、docs/compatibility/四大文档板块一板块一个目录线上站点的左侧导航就来自docs/sphinx/_toc.yml.indocs/data/所有驱动页面的数据文件components.yaml、参考用 CSV 全在这docs/extension/rocm_docs_custom/一组自研 Sphinx 扩展是这套文档的秘密武器下一节细说tools/autotag/与tools/precision-support/发布期工具文章后半段的两位主角cmake/Modules/ 根CMakeLists.txt构建入口文档内容本身覆盖得有多深看参考区就知道。比如 GPU 架构板块从 MI100 到 MI350 的微架构、性能计数器文档一卡一档参考文档中使用的 MI300 节点架构图8 张 GPU 经 Infinity Fabric 互联。文档站渲染的正是这类硬件深度内容。数据放哪、图片放哪都清楚了最后一个问题表格类内容为什么改一次、处处生效数据驱动一张兼容性表格是怎么上页的把文档站想象成印刷厂这套架构的答案就出来了内容是预制字模不是手写稿。链路三步走docs/data/里的 YAML / CSV 是唯一数据源。components.yaml管组件清单reference/下的 CSV 管原子操作支持、精度支持这类硬表格docs/extension/rocm_docs_custom/下的扩展在构建时做排版csv_list_to_table把 CSV 直接变表格merge_components把多份 YAML 合并成组件总表version_ref负责把当前版本号填进正文selector做页面上的选项切换Sphinx 出 HTML。改数据不用碰一个字的文章正文这就是为什么兼容性矩阵、组件表、GPU 表能在几十个页面间保持一致——它们共用同一份纸。计算单元CU结构图调度器、SIMD、LDS 与寄存器文件的层次关系。参考区这类硬件图解就是数据加模板批量印出来的。数据链路通了时间线也得通——这活儿归 changelog。一条命令生成发布日志autotag 流水线tools/autotag/是发布季的记账员。原理拆开看很简单人只维护模板tools/autotag/templates/下按变更类型分四个目录highlights、known_issues、resolved_issues、support每版一个 md 文件脚本干活tag_script.py按发布分支遍历各组件仓库的 changelog拼装成顶层CHANGELOG.md命令仓库 README 里写得很明白export GITHUB_ACCESS_TOKENyour_token_here cd tools/autotag # 生成从 5.0.0 到 6.4.0含的完整 changelog python3 tag_script.py -t $GITHUB_ACCESS_TOKEN --no-release --no-pulls \ --starting-version5.0.0 \ --compile_file ../../CHANGELOG.md \ --branch release/rocm-rel-6.4 6.4.0两条铁律踩一条就返工只改模板别手改CHANGELOG.md。脚本每次全量重生成手写内容会被直接覆盖永远带 token。裸跑会被 GitHub 更严的限流卡住脚本自己都提示not advisedchangelog 记的是改了什么还有一个更细的问题各库到底支持哪些数据类型这就是质检站的活。跨版本精度审计质检站tools/precision-support/干的是逐版本对账。链路是precision_fetch.py把各库的源文件和 YAML 快照拉到/tmp/manifest_diff.py负责差异比对README 里还配了/precision-check PREV CURR一键审计全量扫和按 SHA 过滤的增量扫各有一档。审计的落点是一个文件docs/data/reference/precision-support/precision-support-meta.yaml——站点上精度支持表的数据源。至此工具链闭环了changelog 是记账员审计是质检员一起守发布质量。排坑速查四道高频故障一张表症状30 秒自查大概率缺了什么sphinx 报缺模块.venv/bin/python -m pip install -r docs/sphinx/requirements.txtvenv 建了依赖没装CMake 找不到 ROCM默认会 FetchContent 自动拉 rocm-cmake网络不通可手动传-DROCM_PATH路径指向已装位置changelog 内容不对核对tools/autotag/templates/下的模板手改了生成产物被脚本覆盖GitHub 接口限流带-t $GITHUB_ACCESS_TOKEN重跑没带 token外加一条改过 Doxygen 注释的话两次构建之间删掉旧的 doxygen 缓存目录别拿脏缓存吓自己。下一步去哪四件马上能做的事文档站是 ROCm 平台的橱窗而橱窗后面的生产线才是更值钱的资产。看懂这条线你就不只是读者是能拆掉橱窗重搭一间的施工队了。把 CMake 官方流水线完整跑一遍对照线上文档看产物差在哪挑docs/data/下一个 CSV改一个格子重建亲眼看兼容性矩阵更新——数据驱动的感觉一下就来了读一遍docs/extension/rocm_docs_custom/csv_list_to_table/的源码它是自研 Sphinx 扩展最简洁的范本把tools/autotag/和tools/precision-support/的 README 读透用只读 token 跑一次精度抓取体会发布季的工具链机器已经热好了剩下的轮子在你手上。【免费下载链接】legacy-rocm-buildAMD ROCm™ Software - GitHub Home项目地址: https://gitcode.com/GitHub_Trending/ro/legacy-rocm-build创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考