dsh-plugin-amdgpu-inspect:AMDGPU Code-Object 与 ISA 检查

在 DeepSeek Harness (DSH) 的开发与调试过程中,针对 AMDGPU(ROCm)的模型推理管线,直接分析编译后的二进制文件(HSACO 或 ELF)通常需要掌握底层的汇编语法。为了解决这个问题,开发者需要一个能够将二进制文件转化为结构化数据的工具。

下面介绍 dsh-plugin-amdgpu-inspect,这是一个由 yujiaoliang 维护的 DeepSeek Harness 插件,旨在提供结构化的 AMDGPU code-object 和 ISA 检查能力。

插件简介

该插件将现有的 AMDGPU ELF 或 HSACO 文件转换为 JSON 格式,供智能体查询。它主要处理编译产物,报告编译器产生的元数据和指令流,而不涉及代码执行或性能预测。

核心功能

插件主要提供以下能力:

  1. 二进制转换:将 ELF 或 HSACO 文件转换为 JSON。
  2. 内核列表与元数据:列出内核并报告公共代码对象元数据及指令类别计数。
  3. 指令流查询:查询内核的标准化指令流,支持通过游标分页获取指令片段。
  4. Kernel X-Ray Skill:提供用于编译和假设形成的技能层。

安装与启用

使用该插件需要满足以下环境要求:
* Linux 操作系统
* DeepSeek Harness developer preview
* ROCm LLVM 工具(需位于 /opt/rocm/llvm/bin 或在 PATH 环境变量中)

安装命令如下:

dsh plugin --profile web add github:yujiaoliang/dsh-plugin-amdgpu-inspect
dsh --profile web

典型用法

1. 列出内核

获取文件中的所有内核及其元数据:

{ "path": "/tmp/vector-add.hsaco" }

2. 查询指令流

查询特定内核的标准化指令流,支持限制指令数量和过滤操作码:

{
  "path": "/tmp/vector-add.hsaco",
  "kernel": "vector_add",
  "opcodes": ["scratch_*", "s_waitcnt"],
  "cursor": 0,
  "limit": 40
}

查询结果包含地址、操作码、操作数、类别以及当有更多匹配时返回的 nextCursor。

适用场景与注意

  • 适用场景:适合在 DSH 环境中需要分析 AMDGPU 编译输出、调试汇编逻辑或进行静态代码审查的场景。
  • 安全性边界:此版本直接在 DSH 主机上调用 LLVM 并读取工件。它不继承部署的虚拟文件系统或子进程提供程序,因此应将其视为基于主机的访问。插件不会将工件加载到 HSA 运行时或执行 GPU 代码。
  • 已知限制:
    • 输入文件大小限制为 256 MiB。
    • 仅报告静态事实,不执行 GPU 代码或预测性能。
    • 不支持解析历史或未来的 LLVM 输出拼写。
    • 当前版本不支持解析内核参数、符号、重定位、控制流图和二进制编码。

总结

dsh-plugin-amdgpu-inspect 是 DeepSeek Harness 生态中用于分析 AMDGPU 二进制文件的工具。它通过标准化接口将复杂的 ELF/HSACO 结构转化为 JSON,帮助开发者在不执行代码的情况下获取静态事实。

更多详情与源码请访问:
* GitHub 仓库
* 社区目录

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜