Files
hakmem/docs/analysis/SSOT_BUILD_MODES.md
2025-12-19 03:45:01 +09:00

101 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SSOT Build Modes: Standard / FAST / OBSERVE の役割定義
## 目的
ベンチマーク測定において、**ビルドモード**と**測定モード**を分離し、
各フェーズで何を測定するかを明確化する。
---
## 3つのモード
### 1. **Standard Build** (`-DNDEBUG`)
- **役割**: 本番相当、最適化最大
- **使用**: Phase 89+ 本格 SSOTA/B テスト、GO/NO-GO 判定)
- **スクリプト**: `scripts/run_mixed_10_cleanenv.sh`
- **出力**: Throughput最終スコア
- **特性**: LTO, -O3, frame-pointer 削除、統計安定性CV < 2%
### 2. **FAST Build** (`HAKMEM_BENCH_FAST_MODE=1`)
- **役割**: 最大パフォーマンス引き出しPGOキャッシュ最適化
- **使用**: 性能天井確認設計上限検証
- **スクリプト**: `scripts/run_mixed_fast_pgo_ssot.sh`要作成
- **出力**: Throughputceiling reference
- **特性**: Profile-Guided Optimization, aggressive inlining
### 3. **OBSERVE Build**
- **役割**: 経路確認フローダンプ
- **使用**: ENV ドリフト検出設定妥当性確認
- **スクリプト**: `scripts/run_mixed_observe_ssot.sh`
- **出力**: 詳細統計inline slots 活動unified cache hit/misslegacy fallback 呼び出し
- **特性**: メトリクス収集診断情報
---
## SSOT 測定手順(標準パターン)
### 流れ
```
1. OBSERVE (diagnosis)
→ 経路が正しいか確認「LEGACY used AND C6 INLINE SLOTS ACTIVE」の判定
→ ENV 設定ドリフトを検出
2. Standard SSOT (control + treatment)
→ IFL=0 (control) 10-run
→ IFL=1 (treatment) 10-run
→ 統計的に有意な差があるか判定
3. if NO-GO → FAST build で ceiling 確認
→ design は correct か、implementation は correct か の切り分け
```
---
## 各モードの環境管理
### Standard
```bash
HAKMEM_BENCH_MIN_SIZE=16 HAKMEM_BENCH_MAX_SIZE=1040
HAKMEM_BENCH_C5_ONLY=0 HAKMEM_BENCH_C6_ONLY=0 HAKMEM_BENCH_C7_ONLY=0
HAKMEM_PROFILE=MIXED_TINYV3_C7_SAFE
```
### FAST将来
```bash
HAKMEM_BENCH_FAST_MODE=1
HAKMEM_PROFILE=MIXED_TINYV3_C7_FAST_PGO (要定義)
```
### OBSERVE
```bash
# Standard + diagnostic metrics
HAKMEM_UNIFIED_CACHE_STATS_COMPILED=1
HAKMEM_INLINE_SLOTS_OVERFLOW_STATS=1
```
---
## GO/NO-GO 判定基準
| 指標 | 基準 | 判定 |
|------|------|------|
| 改善度 | +1.0% | GO |
| CV変動係数 | < 3% | 統計安定 |
| 回帰 | < -1.0% | NO-GO重大 |
| 観測スコア | baseline × 1.018 以上 | strong GO |
---
## 参考Phase 91 (C6 IFL) の例
**OBSERVE 結果**:
- 経路確認:✓ LEGACY used AND inline slots active
- スコア51.47M ops/s
**Standard SSOT 結果**:
- Control (IFL=0)52.05M ops/s, CV 1.2%
- Treatment (IFL=1)52.25M ops/s, CV 1.5%
- 改善度+0.38%
- 判定NEUTRAL目標未達)→ NO-GO