本文档指导你从零搭建 rocrtst 的开发和运行环境。1. 硬件要求1.1 支持的 GPUrocrtst 支持所有 ROCm 支持的 AMD GPU常见型号包括系列GPU 型号典型产品CDNA 3gfx942MI300X / MI300ACDNA 2gfx90aMI250X / MI210CDNA 1gfx908MI100RDNA 3gfx1100, gfx1101, gfx1102RX 7900 系列RDNA 2gfx1030, gfx1031RX 6800 系列 使用rocminfo命令可查看当前系统中的 GPU 型号见 3.2 验证 GPU 识别。1.2 系统要求操作系统Ubuntu 22.04 / 24.04推荐、RHEL 8/9、SLES 15内核支持 amdgpu 驱动的 Linux 内核权限运行测试通常需要sudo权限访问 GPU 设备节点2. 软件依赖安装2.1 安装 ROCmrocrtst 依赖 ROCm 软件栈。请参考 ROCm 官方安装指南 安装。安装完成后确认 ROCm 路径通常为/opt/rocm或/opt/rocm-版本号ls/opt/rocm*/bin/rocminfo2.2 安装编译依赖Ubuntu / Debiansudoapt-getupdatesudoapt-getinstall-y\build-essential\cmake\libhwloc-dev\libnuma-dev\libyaml-cpp-dev\pkg-configRHEL / CentOS / Fedorasudodnfinstall-y\gcc gcc-cmake\cmake\hwloc-devel\numactl-devel\yaml-cpp-devel\pkgconfig2.3 依赖说明依赖用途包名 (Ubuntu)build-essentialC/C 编译器 (gcc/g)build-essentialcmake构建系统 (≥ 3.5)cmakelibhwloc硬件拓扑检测NUMA 感知libhwloc-devlibnumaNUMA 内存策略libnuma-devlibyaml-cppYAML 配置文件解析libyaml-cpp-devhsa-rocr-devROCr Runtime 头文件和库随 ROCm 安装LLVM/Clang编译 GPU kernel (.cl → .hsaco)随 ROCm 安装于$ROCM/llvm3. 环境变量配置3.1 设置 ROCM_PREFIXROCM_PREFIX指向 ROCm 安装路径是 rocrtst 构建的核心变量# 添加到 ~/.bashrc 使其持久化exportROCM_PREFIX/opt/rocm-7.3.0# 替换为你的实际版本# 确保 ROCr 库和工具在 PATH 中exportPATH$ROCM_PREFIX/bin:$ROCM_PREFIX/llvm/bin:$PATHexportLD_LIBRARY_PATH$ROCM_PREFIX/lib:$LD_LIBRARY_PATH执行source ~/.bashrc使配置生效。3.2 验证 GPU 识别# 检查 GPU 是否被识别rocminfo|grep-EName:|Marketing Name:输出示例Name: gfx942 Marketing Name: AMD Instinct MI300X3.3 HSA 相关环境变量可选以下变量在调试时可能用到变量说明示例值HSA_ENABLE_SDMA启用/禁用 SDMA 引擎0(禁用) /1(启用)HSA_DEBUG启用 HSA 调试输出1HSA_TOOLS_LIB指定 HSA 工具库路径库文件路径ROCR_VISIBLE_DEVICES限制可见 GPU 设备0,1仅第 0、1 号 GPU4. 验证环境完成安装后按以下清单逐项验证4.1 检查清单# 1. 编译器gcc--version# 预期gcc 11.x 或更高# 2. CMakecmake--version# 预期cmake 3.5.0 或更高# 3. ROCm 路径echo$ROCM_PREFIX# 预期/opt/rocm-7.3.0或你的版本# 4. HSA 头文件ls$ROCM_PREFIX/include/hsa/hsa.h# 预期文件存在# 5. HSA 运行时库ls$ROCM_PREFIX/lib/libhsa-runtime64.so# 预期文件存在# 6. Clang 编译器用于编译 GPU kernel$ROCM_PREFIX/llvm/bin/clang--version# 预期显示 clang 版本信息# 7. GPU 设备rocminfo|grepName:|head-5# 预期显示 gfxXXXX 型号# 8. 依赖库dpkg-l|grep-Elibhwloc-dev|libnuma-dev|libyaml-cpp-dev# 预期三个包均显示为 ii已安装4.2 一键检查脚本将以下脚本保存为check_env.sh并运行#!/bin/bashPASS0FAIL0check(){ifeval$2/dev/null21;thenecho ✅$1((PASS))elseecho ❌$1((FAIL))fi}echo rocrtst 环境检查 checkGCC 编译器gcc --versioncheckCMakecmake --versioncheckROCM_PREFIX 已设置[ -n $ROCM_PREFIX ]checkHSA 头文件ls$ROCM_PREFIX/include/hsa/hsa.hcheckHSA 运行时库ls$ROCM_PREFIX/lib/libhsa-runtime64.socheckClang (LLVM)$ROCM_PREFIX/llvm/bin/clang --versionchecklibhwloc-devdpkg -l libhwloc-dev 2/dev/null | grep -q ^iichecklibnuma-devdpkg -l libnuma-dev 2/dev/null | grep -q ^iichecklibyaml-cpp-devdpkg -l libyaml-cpp-dev 2/dev/null | grep -q ^iicheckGPU 设备可见rocminfo | grep -q gfxechoecho结果$PASS通过$FAIL失败[$FAIL-eq0]echo 环境就绪可以开始构建||echo⚠️ 请修复失败项后再构建。5. 源码获取rocrtst 位于 rocr-runtime 仓库中# 如果还没有源码gitclone https://github.com/ROCm/ROCR-Runtime.gitcdROCR-Runtime# rocrtst 位于以下路径lsrocrtst/如果你使用的是内部仓库如 rocm-systems路径可能为projects/rocr-runtime/rocrtst/6. 常见问题Q: 提示 “yaml-cpp library not found”A:安装 libyaml-cpp-devsudoapt-getinstalllibyaml-cpp-devQ: rocminfo 显示 “HSA_STATUS_ERROR_OUT_OF_RESOURCES”A:检查 amdgpu 驱动是否正确加载lsmod|grepamdgpudmesg|tail-20Q: ROCM_PREFIX 设置了但找不到头文件A:确认路径正确注意版本号ls/opt/rocm*/include/hsa/hsa.h# 用实际存在的路径设置 ROCM_PREFIXQ: 没有 sudo 权限怎么办A:大多数测试需要 root 权限访问 GPU。联系管理员将你添加到render和video用户组sudousermod-aGrender,video$USER# 重新登录后生效上一篇01-概述与架构下一篇03-构建指南 — 构建 rocrtst 的详细步骤