Phase D 全 process (re-chain、subagent、decay sweep) 完了後に single-process で取り直した per-kernel timing baseline。前 profile baseline (p1-profiling-baseline、multi-process contention 中) と比較すると share が大幅 shift: ts_fwd_radix_sort 27.0% → **13.6%** (-13.4 pt)、ts_fwd_emit_pairs 6.5% → **14.2%** (+7.7 pt)、ts_forward 全体 60.1% → **36.7%** (-23.4 pt)。これは前 profile の share が contention で over-state されていた決定的証拠で、target_upload subagent (share 5.6% → 実 ROI 0.23% / 1/25) の経験を kernel level でも再現。新 axis 1 ROI 上限: emit_pairs 改善 -14% / radix_sort -13% / backward_raster -13% / ssim_fusion -7-8%、いずれも卒論 future work として価値あり。
Phase D 全 process (multi-scene re-chain、subagent worktree、decay sweep) 完了後に single-process で profile を取り直し、前 baseline (multi-process contention 中) と比較。share の大幅 shift を確認: radix_sort 27% → 13.6%、emit_pairs 6.5% → 14.2%、forward 60% → 37%。これは contention 中の share が systematic に over-state されていた決定的証拠で、target_upload subagent (share 5.6% → 実 ROI 0.23%) の経験を kernel level でも再現。
前 profile baseline (p1-profiling-baseline、multi-process contention 中) の share data は systematic に over-state されていた。clean baseline で radix_sort share は 27% → 13.6% に半減、forward 全体は 60% → 37% に大幅縮小、一方 emit_pairs は 6.5% → 14.2% に倍増。これは axis 1 ROI 推定の前提を変える: 前 "radix_sort -14-17%" は ceiling -13%、emit_pairs は新しい高優先 candidate (-14% 上限)。卒論 axis 1 narrative では profile baseline は contention 状態を明記 + clean baseline で再評価が必須の方法論として記述。
| rank | kernel | clean share | 旧 profile share | shift (pt) | shift 解釈 |
|---|---|---|---|---|---|
| 1 | **ts_forward (全体)** | **36.7%** | 60.1% | **-23.4** | forward が contention で大幅誇張 |
| 2 | **ts_fwd_emit_pairs** | **14.2%** | 6.5% | **+7.7** | emit_pairs が contention で under-state、真の bottleneck candidate |
| 3 | **ts_fwd_radix_sort** | **13.6%** | 27.0% | **-13.4** | radix_sort 半減、前 baseline の最大 candidate は over-state |
| 4 | ts_backward_raster | 13.4% | 13.5% | ±0 | 唯一 stable な share (contention 影響小) |
| 5 | ts_ssim_fwd_grad | 7.8% | 15.6% | -7.8 | SSIM も contention で 2x 誇張 |
| 6 | ts_fwd_rasterize | 6.1% | 9.4% | -3.3 | |
| 7 | ts_adam | 3.0% | 5.6% | -2.6 | |
| 8 | ts_target_upload | **0% (消滅)** | 5.6% | -5.6 | **target_upload cache subagent で完全除去済** |
| 9 | ts_refine | 0.2% | 2.6% | -2.4 | Phase E refine GPU 化の ROI 仮説 -5x の 1/250 縮小 |
| 10 | ts_opacity_decay | 0.0% | 0.001% | ±0 | no-op 確定 |
| # | 改修 | clean share | 完璧改善時 wallclock ROI 上限 | 備考 |
|---|---|---|---|---|
| 1 | **emit_pairs 高速化** | **14.2%** | **-14%** | 新候補、前 profile では under-state されていた |
| 2 | radix_sort 改善 | 13.6% | -13% | 前 profile -14-17% から下方修正 |
| 3 | backward_raster 高速化 | 13.4% | -13% | 唯一 stable な share、確実な ROI |
| 4 | SSIM fusion | 7.8% | -7-8% | 前 profile -5-7% に近い |
| 5 | fwd_rasterize 高速化 | 6.1% | -6% | |
| 6 | adam batching | 3.0% | -2-3% | Phase E subagent 提案、ROI 低 |
| 7 | refine GPU 化 (Phase E) | 0.2% | -0.2% | **棄却強化** (前 profile 2.6% で既に -1.3% 上限、clean で 1/13) |
| 8 | f16 packed (A.6) | — | -1.7-2.2% | **棄却維持** (memory bandwidth bound 不発) |
| 9 | opacity_decay GPU 化 | 0.0% | 0% | **no-op 確定** |
# 前提: 他の bench/subagent が全て完了し、single-process な GPU/CPU 状態
cd splat
./target/release/splat train --config configs/2026-05-25-0600-lego-profile-clean-5k.toml
# → runs/lego-profile-clean-5k/{result.toml, final.ply (not saved)}
# → mean val PSNR 31.511 dB / wallclock ~2m / splats 84,831
# → [profile] kernel timing が log に出力、grep ts_ で抽出
p1-profiling-baselinep1-axis1-target-cachep1-e-refine-gpu-smokea-6-f16-packed-rebenchp1-d-stage2-30k-resultsこの finding が観測された / 言及している実験 run。