ai-dynamo/aisimulate/aic-silicon-align
Claude Code and agent skill by ai-dynamo/aisimulate
- community
Checking that the SKILL.md file is still in the repository.
Use when validating AIC predictions against real GPU serving measurements and root-causing fidelity gaps (prediction-vs-measured issues, memory/concurrency mismatches, per-op latency divergence). Covers dummy-weight methodology, measurement parity traps, component-isolation ladders, and ledger reconciliation.
Install
npx vskill@latest install ai-dynamo/aisimulate/aic-silicon-alignSKILL.md
AIC Silicon Alignment
Root-cause a prediction-vs-measurement gap by isolating layers and comparing adjacent ones only. Never attribute a residual across more than one rung.
The ladder
- Reproduce the prediction (CPU-only): same yaml/version/flags. If the
reported numbers don't reproduce, stop — it's a config diff, not fidelity.
- Consistency arithmetic before GPUs: `throughput = concurrency x
per-user speed`. Derive the effective concurrency from the report; a gap vs configured concurrency localizes the problem to admission/memory, not kernel speed.
- Engine memory ledger (dummy weights suffice): serve with
--load-format dummy and read the engine's own lines — weights GiB, KV tokens, max-concurrency. Compare against AIC's per-component memory dict, component by component, never totals only (errors cancel: one model showed -8/+2.3/-1.4 GiB netting to a small total delta).
- Standalone per-role benchmarks (prefill worker, decode worker) at
KV-feasible batch sizes; compare against AIC's per-role rows.
- Deployment-faithful e2e: exact images, generated scripts, patches,
and flags the reporter used. Only this rung may be compared to the reported end-to-end numbers.
What dummy weights do and don't preserve
- Usually preserve: memory footprint and data-independent kernel timing —
but this is loader-specific, NOT a guarantee. Before relying on it, verify against the real checkpoint: parameter dtypes/shapes/layouts and quant scales after loading, post-load weight transforms, and that the framework dispatches the same kernels (some dummy loaders allocate a different dtype than the checkpoint ships, or skip scale tensors that change dispatch). If any of these differ, validate the affected measurement with real weights before using it.
- Do NOT preserve: anything routed by data — e.g. MoE expert distributions
collapse (near-identical hidden states -> few unique experts -> weight reads shrink several-fold). Mark such measurements as biased and state the direction. To still use them: sweep the hidden axis synthetically in the collector (controlled router logits, controlled unique-expert count) to build a calibration curve, then invert the engine measurement onto it.
Measurement parity checklist (each one has flipped a conclusion)
- CUDA-graph capture sizes must match the deployment — coverage swung a
small-batch decode step 2.4x in one case. AIC-generated deploys pass an explicit list; your benchmark must too.
- Standalone decode ITL is polluted by chunked-prefill mixing when
max-num-batched-tokens is small; a disagg decode worker never prefills. Prefer deployment-faithful setups or report medians with the caveat.
- torch-profiler distorts wall time and large-kernel durations (a single
stream showing >100% busy is the tell). Anchor on unprofiled ITL; trust only small-kernel durations from traces.
- EP/TP ranks run in lockstep: stragglers' wait is absorbed into other
ranks' NCCL kernel durations. Account per-step across all ranks, never one rank's kernels in isolation.
- Discard first-run numbers (JIT/autotune warmup skews percentiles).
- Ops that model compute+comm jointly (overlap ops) must be compared against
the same joint quantity on the engine side.
Perf-DB cross-checks
- Re-collect the suspect datapoint on the same silicon: separates
methodology error from machine/version skew.
- Kernel-diff the collector's timed region against an engine trace: same
kernel families and algos? Extra eager glue ops are a harness bug (see the fused-ops fix); missing ops are an accounting gap.
- Collector data is only as true as its op dispatch: verify it against the
pinned framework's source (file and symbol), per .claude/rules/collector/.
Model/checkpoint facts are per-checkpoint, not per-family
Read quantization ignore/exclude_modules from the checkpoint (e.g. NVFP4 releases keep attention BF16; native FP8 ones quantize it). Framework defaults (memory fractions, capture sizes) come from framework source with citations, never from memory.
Discipline
- Keep a running ledger (prediction | measured | delta | attribution) and
update it every experiment; record retracted claims with the reason.
- Fix coupled accounting items together, or verify that a partial fix does
not regress feasibility (a correct-but-lone weight increase can push a model into "infeasible" because other components over-count).
- A fidelity fix lands with: the measured ledger it was validated against,
framework citations, and the residuals it deliberately leaves.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingpython/aisimulate/.claude/skills/aic-silicon-align/SKILL.md
Popularity
- Repository stars
- 98
- Repository forks
- 45
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ai-dynamo/aisimulate/aic-silicon-align)