Phase 67a: Layout tax forensics foundation (SSOT + measurement box)
Changes: - scripts/box/layout_tax_forensics_box.sh: New measurement harness * Baseline vs treatment 10-run throughput comparison * Automated perf stat collection (cycles, IPC, branches, misses, TLB) * Binary metadata (size, section info) * Output to results/layout_tax_forensics/ - docs/analysis/PHASE67A_LAYOUT_TAX_FORENSICS_SSOT.md: Diagnostic reference * Decision tree: GO/NEUTRAL/NO-GO classification * Symptom→root-cause mapping (IPC/branch-miss/dTLB/cache-miss) * Phase 64 case study analysis (IPC 2.05→1.98) * Operational guidelines for Phase 67b+ optimizations - CURRENT_TASK.md: Phase 67a marked complete, operational Outcome: - Layout tax diagnosis now reproducible in single measurement pass - Enables fast GO/NO-GO decision for future code removal/reordering attempts - Foundation for M2 (55% target) structural exploration without regression risk 🤖 Generated with Claude Code Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -31,14 +31,32 @@
|
||||
|
||||
---
|
||||
|
||||
**Phase 67a(推奨): layout tax 法医学調査**
|
||||
**Phase 67a: Layout Tax 法医学(変更最小)** ✅ **完了・実運用可能**
|
||||
|
||||
- **狙い**: Phase 64 NO-GO (-4.05%) の根本原因を「再現可能な手順」に固定
|
||||
- **やること**: perf stat (cycles/IPC/branch-miss/cache-miss/iTLB) を差分テンプレ化 → docs に添付
|
||||
- Binary diff: Phase 66 baseline vs Phase 64 attempt
|
||||
- perf drill-down: Hot function の IPC drop / branch miss rate 増加を定量化
|
||||
- 実装変更なし(法医学ドキュメント化のみ)
|
||||
- **成果物**: `docs/analysis/PHASE67A_LAYOUT_TAX_FORENSICS_RESULTS.md`
|
||||
- ✓ `scripts/box/layout_tax_forensics_box.sh` 新規(測定ハーネス)
|
||||
- Baseline vs Treatment の 10-run throughput 比較
|
||||
- perf stat 自動収集(cycles, IPC, branches, branch-misses, cache-misses, iTLB/dTLB)
|
||||
- Binary metadata(サイズ、セクション構成)
|
||||
|
||||
- ✓ `docs/analysis/PHASE67A_LAYOUT_TAX_FORENSICS_SSOT.md` 新規(診断ガイド)
|
||||
- 判定ルール: GO (+1% 以上) / NEUTRAL (±1%) / NO-GO (-1% 以下)
|
||||
- "症状→原因候補" マッピング表
|
||||
* IPC 低下 3%↑ → I-cache miss / code layout dispersal
|
||||
* branch-misses ↑10%↑ → branch prediction penalty
|
||||
* dTLB-misses ↑100%↑ → data layout fragmentation
|
||||
- Phase 64 case study(-4.05% の root cause: IPC 2.05 → 1.98)
|
||||
- 運用ガイドライン
|
||||
|
||||
**使用例**:
|
||||
```bash
|
||||
./scripts/box/layout_tax_forensics_box.sh \
|
||||
./bench_random_mixed_hakmem_minimal_pgo \
|
||||
./bench_random_mixed_hakmem_fast_pruned # or Phase 64 attempt
|
||||
```
|
||||
|
||||
成果: 「削る系」NO-GO が出た時に、どの指標が悪化しているかを **1回で診断可能** → 以後の link-out/大削除を事前に止められる
|
||||
|
||||
---
|
||||
|
||||
**Phase 67b(後続): 境界inline/unrollチューニング**
|
||||
- **注意**: layout tax リスク高い(Phase 64 reference)
|
||||
@ -49,7 +67,7 @@
|
||||
|
||||
**M2 への道 (55% target)**:
|
||||
- PGO はもう +1% 程度の改善上限に達した可能性(profile training set 枯渇)
|
||||
- 次のレバーは: (1) layout tax 排除 / (2) structural changes(box design) / (3) compiler flags tuning
|
||||
- 次のレバーは: (1) layout tax 排除 (Phase 67a の基盤で調査可能) / (2) structural changes(box design) / (3) compiler flags tuning
|
||||
|
||||
## 3) アーカイブ
|
||||
|
||||
|
||||
Reference in New Issue
Block a user