yujiaoliang
dsh-plugin-amdgpu-inspect
Structured AMDGPU code-object and ISA inspection for DeepSeek Harness.
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 15, 2026
- Updated
- Aug 15, 2026
Introduction
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/binor onPATH
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 --notessupplies public AMDGPU metadata.llvm-objdump --disassemble --demanglesupplies 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.