dsh-plugin-amdgpu-inspect
其他 活跃维护

dsh-plugin-amdgpu-inspect

yujiaoliang/dsh-plugin-amdgpu-inspect

轻量级AMDGPU检测插件可对平台下的代码对象、指令集架构执行结构化解析校验,自动输出标准化检查报告,开发者无需手动梳理底层二进制信息,快速定位AMD平台代码异常问题。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
JavaScript
主要语言
MIT
开源协议
19 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:yujiaoliang/dsh-plugin-amdgpu-inspect
git clone https://github.com/yujiaoliang/dsh-plugin-amdgpu-inspect.git
git clone git@github.com:yujiaoliang/dsh-plugin-amdgpu-inspect.git
README.md main

AMDGPU Inspect

Structured AMDGPU code-object and ISA inspection for DeepSeek Harness.

The plugin turns an existing HSACO or AMDGPU ELF file into bounded JSON that an agent can query. It reports compiler artifacts without compiling source, executing a kernel, predicting performance, or prescribing an optimization.

AMDGPU ELF -> llvm-readelf + llvm-objdump -> normalized object model -> DSH tools

Tools

amdgpu_object_inspect

List kernels and report public code-object metadata plus instruction-category counts:

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

amdgpu_isa_query

Query one kernel's normalized instruction stream without placing the complete disassembly in model context:

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

The result contains addresses, opcodes, operands, categories, and a nextCursor when more matches remain.

Install

Requirements:

  • Linux
  • DeepSeek Harness developer preview
  • ROCm LLVM tools in /opt/rocm/llvm/bin or on PATH

Install the bundle from GitHub:

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

The package ships plain ESM JavaScript and needs no install-time build script.

Kernel X-Ray Skill

skills/kernel-xray/SKILL.md is the opinionated layer: it tells an agent how to compile before/after artifacts, query this plugin, form hypotheses, and require a workload measurement before claiming a speedup. The plugin itself remains a low-level facts API.

Design

  • llvm-readelf --notes supplies public AMDGPU metadata.
  • llvm-objdump --disassemble --demangle supplies ISA.
  • A one-artifact cache is keyed by absolute path, size, and modification time.
  • ISA queries are capped at 200 records and support deterministic cursors.
  • Child processes run without a shell and honor tool-call cancellation.
  • Inputs are limited to regular files no larger than 256 MiB.

Security boundary

This version invokes LLVM and reads the artifact directly on the DSH host. It does not inherit a deployment's virtual filesystem or subprocess provider, so treat access as host-local rather than sandboxed. It never loads the artifact into an HSA runtime or executes GPU code. LLVM diagnostics can expose local paths.

Limitations

  • Parsing follows the text emitted by current ROCm LLVM tools; fixture coverage cannot guarantee every historical or future output spelling.
  • Kernel arguments, symbols, relocations, control-flow graphs, and binary encodings are not exposed yet.
  • The plugin reports static facts only. Resource counts and instruction counts do not establish performance.

Development

Tests use synthetic public-format metadata and disassembly; no GPU or ROCm installation is required:

npm test

License

MIT. ROCm and LLVM are external tools and are not redistributed.