hardware-targets
Skill773 starsChanged 34 days agoApache-2.0View on GitHub
Measured facts about the hardware Buddy-MLIR targets (SpacemiT K3 A100/X100 cores with RVV, IME matrix engine, TCM and AI DMA; Zhihe A210 C908/C920 cores; Tenstorrent) - core layout, bandwidths, instruction costs, how to run on the boards. Use before optimizing or estimating performance for a specific chip, or when characterizing a new one.
In this repository6 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- llm-inference-optimizationSkill
- performance-optimizationSkill
- riscv-rvv-optimizationSkill
- upstream-prSkill
The file
Files
Hardware targets
Facts here were measured on real boards. Each reference file starts with when and on what it was measured; re-measure when the board, firmware or kernel changes, and update the file.
Which file to read
Files are named <vendor>-<chip>-<topic>.md.
| Target | Read |
| SpacemiT K3 (A100 AI cores, X100 cores) | references/spacemit-k3-architecture.md (cores, memory, IME, TCM, DMA); references/spacemit-k3-instruction-costs.md (RVV and IME costs); references/spacemit-k3-board-setup.md (running and profiling on a board) |
| Zhihe A210 (4 C908 + 4 C920, VLEN 128) | references/zhihe-a210-architecture.md (cores, bandwidth per cluster, vector throughput, running) |
| Tenstorrent | No measurements yet. Environment: docs/TenstorrentEnvironment.md. |
Optimization history per platform (what was done, what was rejected) lives
with the workflow it belongs to, e.g.
llm-inference-optimization/references/spacemit-k3-*.md.
Characterizing a new target
Measure before optimizing for it, and write
references/<vendor>-<chip>-architecture.md and
-instruction-costs.md:
- Cores: which cores run the workload, how they are grouped (clusters, pairs sharing units), how the OS schedules them (special process modes).
- Memory: read bandwidth with 1, half and all cores; cache sizes; any shared paths that saturate before DRAM (measure loads from cache with several cores per cluster).
- Instructions: throughput and latency of the vector / matrix instructions
the kernels use, at the element widths and register groupings they use
(
scripts/spacemit-k3-insn-bench.pyis a template). - On-chip memories and DMA engines: size, who can reach them at what cost, how user space gets them.
Record numbers with units and the measurement method, and avoid board host names, accounts and local paths.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

