[{"data":1,"prerenderedAt":309},["ShallowReactive",2],{"finding:p2-gap-sweep-baseline":3,"finding-runs:p2-gap-sweep-baseline":195,"finding-related:p2-gap-sweep-baseline":220},{"meta":4,"impact":46,"sections":52},{"id":5,"title":6,"subtitle":7,"eyebrow":8,"date":9,"status":10,"category":11,"polarity":12,"axes":13,"tags":15,"task_code":25,"commit":26,"branch":27,"config_paths":28,"related_runs":33,"related_findings":40},"p2-gap-sweep-baseline","P2 gap sweep Phase 0\u002F1a — binning 55% 実測 + C0 発見 + StopThePop -7.45%","規約 v2 適用後 main の Lego 12.5k baseline (766.07s \u002F 36.216 dB \u002F 407k splats) を profile=true で実測。\u003Cstrong>emit_pairs 38.2% + radix_sort 16.6% = tile binning 経路が wallclock の 55%\u003C\u002Fstrong> と確定し、Phase 2 trigger 想定 (SSIM 15% \u002F Adam 15% \u002F backward 25%) は全て不発 (SSIM 5.2% \u002F Adam+SH 5% \u002F backward 21.5%)。設計調査で \u003Cstrong>55% の主犯は kernel でなく毎 iter ~1.25GB の pair buffer alloc + Vec 三重往復 (C0)\u003C\u002Fstrong> と判明 — capacity 式 `num_splats×256` が実需要 (~1.3M pairs) の ~80 倍を確保している。StopThePop (feat.F cherry-pick) は 12.5k paired A\u002FB で \u003Cstrong>-7.45% wallclock \u002F PSNR -0.023 dB (guard 通過)\u003C\u002Fstrong>、効果は大 splat regime に集中し区間 -32%→-3〜5% に単調減衰。5k n=2 A\u002FB は refine 非決定性 (splats 軌道 ±1.5%) で検出力不足だった。","P2 gap sweep · Phase 0\u002F1a · baseline + STP gate","2026-08-16","stable","experiment","positive",[14],1,[16,17,18,19,20,21,22,23,24],"gap-sweep","phase-0","phase-1a","profiling","per-kernel-breakdown","stop-the-pop","binning","c0-resident-arena","lego","2026-08 msplat gap sweep Phase 0 + 1a","7e5ca2d","main",[29,30,31,32],"splat\u002Fconfigs\u002F2026-08-16-lego-gap-baseline-12500.toml","splat\u002Fconfigs\u002F2026-08-16-lego-stp-12500.toml","splat\u002Fconfigs\u002F2026-08-16-lego-stp-ab-original-5k.toml","splat\u002Fconfigs\u002F2026-08-16-lego-stp-ab-stp-5k.toml",[34,35,36,37,38,39],"lego-gap-baseline-12500","lego-stp-12500","lego-stp-ab-original-5k-r1","lego-stp-ab-original-5k-r2","lego-stp-ab-stp-5k-r1","lego-stp-ab-stp-5k-r2",[41,42,43,44,45],"p1-axis1-phase-i-scene-adaptive","p1-msplat-baseline-spike","feat-bundle-musing-mendeleev-inventory","p1-axis1-phase-f1-emit-simd-falsified","p1-axis1-phase-f3-radix-gpu-prefix-falsified",{"summary":47,"rank":48,"verdict":49,"delta_psnr":50,"delta_wallclock":51},"\u003Cstrong>Phase 2 の主戦場が確定\u003C\u002Fstrong>: strategy doc の trigger 3 候補 (separable SSIM \u002F last_contributor \u002F SH-Adam fusion) は全て閾値不発、代わりに \u003Cstrong>binning 経路 55% の主犯 = per-iter ~1.25GB alloc + Vec 三重往復 (C0)\u003C\u002Fstrong> が最大 lever。C0 (persistent buffer arena、bit-exact、3-4 日) の期待は \u003Cstrong>wallclock -30〜39% (766→~470s) で単独 gap ≤2.0× 到達圏\u003C\u002Fstrong>。C1 (radix 定数桁 pass skip 16→11、bit-exact、0.5-1 日) が +4-5%。StopThePop は -7.45% で adoption gate (-8%) に僅差未達、default 維持のまま C0 後再判定。5 連敗の教訓「profiling が指す順」が機能した初の事例 — 事前決め打ちなら SSIM (5.2%) に突撃していた。","high","binning-55-percent-c0-discovered-stp-marginal-go","STP 12.5k: 36.216 → 36.193 dB = -0.023 dB (guard -0.05 内で通過)","STP 12.5k: 766.07 → 708.96s = **-7.45%** (emit -10.5% \u002F radix -8% \u002F backward -6%)",[53,56,59,111,116,118,153,157,159,191],{"type":54,"text":55},"lead","規約 v2 適用後 main の初 baseline で per-kernel breakdown を確定し、\u003Cstrong>tile binning 経路 (emit_pairs + radix_sort) が wallclock の 55%\u003C\u002Fstrong> を占めると実測。設計調査により主犯は sort アルゴリズムではなく \u003Cstrong>毎 iter ~1.25GB の pair buffer 確保と Vec 三重往復\u003C\u002Fstrong> (capacity = num_splats×256 が実需要の ~80 倍) と判明。StopThePop は 12.5k paired A\u002FB で -7.45% \u002F PSNR guard 通過。",{"type":57,"text":58},"heading","1. Baseline per-kernel breakdown (Lego 12.5k, wallclock 766.07s 分母)",{"type":60,"columns":61,"align":67,"rows":70},"table",[62,63,64,65,66],"kernel","total","avg\u002Fcall","実占有率","備考",[68,69,69,69,68],"left","right",[71,77,83,89,95,101,107],[72,73,74,75,76],"**ts_fwd_emit_pairs**","293.3s","23.47ms","**38.2%**","主犯は host alloc\u002Fcopy (C0)、kernel 本体でない",[78,79,80,81,82],"**ts_backward_raster**","164.5s","13.16ms","21.5%","2-BWD trigger (25%) 未達",[84,85,86,87,88],"**ts_fwd_radix_sort**","127.4s","10.19ms","16.6%","GPU compute 85% (#5.40 実測) = sort 本体律速",[90,91,92,93,94],"ts_fwd_rasterize","43.3s","3.47ms","5.7%","",[96,97,98,99,100],"ts_ssim 系","39.8s","3.18ms","5.2%","2-SSIM trigger (15%) 大幅未達 — separable 化は発火せず",[102,103,104,105,106],"ts_adam + ts_project_back","47.1s","3.77ms","6.1%","2-ADAM trigger (15%) 未達 — SH-Adam fusion 発火せず",[108,109,94,110,94],"その他 (project\u002Fextract\u002Frefine\u002Floss)","~51s","~6.7%",{"type":112,"label":113,"variant":114,"text":115},"callout","C0 発見 — 55% の主犯は kernel ではない","warning","`ts_fwd_emit_pairs` は host wallclock 計測で、その内訳は (1) \u003Cstrong>毎 iter keys 833MB + idx 417MB ≒ 1.25GB の新規 buffer 確保\u003C\u002Fstrong> (capacity = num_splats×256 = 104M pairs、実 pair 数 ~1.3M の ~80 倍)、(2) keys\u002Fidx の Vec readback → radix_sort で再 upload → sorted 再 readback → extract_offsets で三たび upload。傍証: emit は 84k splats 時代 ~5ms → 407k で 23.5ms と \u003Cstrong>splat 数 (=capacity) にほぼ線形\u003C\u002Fstrong>、pair 数 (ほぼ横ばい) と不整合。修正 (C0: persistent buffer arena + Buffer 直結) は\u003Cstrong>演算・順序を一切変えない bit-exact\u003C\u002Fstrong> で、期待削減 ~24ms\u002Fiter = wallclock -30〜39%。past negatives (F.1 emit SIMD \u002F F.3 GPU prefix scan \u002F #5.40 8-bit radix) とはすべて直交。",{"type":57,"text":117},"2. StopThePop 12.5k paired A\u002FB (Phase 1a gate)",{"type":60,"columns":119,"align":124,"rows":125},[120,121,122,123],"metric","baseline (original)","STP","Δ",[68,69,69,69],[126,131,136,141,145,149],[127,128,129,130],"wallclock (training)","766.07s","708.96s","**-7.45%**",[132,133,134,135],"PSNR (100 views)","36.216 dB","36.193 dB","-0.023 dB (guard -0.05 内)",[137,138,139,140],"final splats","407,267","407,575","+0.08% (軌道等価)",[142,73,143,144],"emit_pairs","262.5s","-10.5%",[146,85,147,148],"radix_sort","117.1s","-8.1%",[150,79,151,152],"backward_raster","154.0s","-6.4%",{"type":112,"label":154,"variant":155,"text":156},"verdict: marginal GO — default は original 維持、C0 後に再判定","info","adoption gate (-8%) に 0.55pp 未達 (thermal handicap 下 n=1)。品質 guard は通過。\u003Cstrong>効果は大 splat regime に集中\u003C\u002Fstrong>: 区間 delta が iter 1000 の -32% から後期定常 -3〜5% へ単調減衰 (STP の tile test は mean を含む tile を必ず pass するため小 splat では棄却率 ≈0)。branch 時代の -10.2% (`6e3bc57`) は「1k 大 splat smoke」の数字で矛盾しない。\u003Cstrong>5k n=2 A\u002FB (187.6\u002F184.1 vs 180.8\u002F191.4s) は refine 非決定性による splats 軌道差 ±1.5% + noise floor ±3% で検出力不足\u003C\u002Fstrong>と切り分け済 (軌道積分と wallclock が相関、最遅 run は最重軌道)。C0 実装後は emit の alloc 成分が消えて STP の相対効果が変わるため、default 判定は C0 landing 後の再 bench で行う。",{"type":57,"text":158},"3. Phase 2 実装順の決定 (trigger 判定)",{"type":60,"columns":160,"align":165,"rows":166},[161,162,163,164],"候補","trigger","実測","判定",[68,68,69,68],[167,172,176,180,184,188],[168,169,170,171],"**C0 resident binning arena** (新規)","—","binning 55%、alloc 律速","**GO — 最優先** (bit-exact、3-4 日、期待 -30〜39%)",[173,169,174,175],"**C1 radix 定数桁 pass skip** (新規)","radix 16.6%、tile≤2500 で桁 44-63 恒等","**GO — C0 の stretch** (bit-exact、0.5-1 日、期待 +4-5%)",[177,178,99,179],"2-SSIM separable","SSIM ≥15%","**不発** — future work 送り",[181,182,183,179],"2-ADAM SH fusion","Adam+SH ≥15%","~6.1%",[185,186,81,187],"2-BWD last_contributor","backward ≥25%","**保留** — C0 後に share 再判定 (相対比率が上がる見込み)",[189,169,169,190],"msplat 逐語 per-tile bins","C3 (exact-size counting sort) に支配される、Tier 3 除外維持",{"type":112,"label":192,"variant":193,"text":194},"方法論の validation","success","「profiling が指す順にしか実装しない」(5 連敗の教訓) が初めて機能した事例。事前決め打ちなら separable SSIM (11× 軽量化、実占有 5.2%) に 1 週を溶かしていた — 全体への上限 ~4% で 6 連敗目になっていた。実測が指したのは誰も候補に挙げていなかった C0 (host alloc) だった。",[196,213],{"id":34,"title":34,"subtitle":197,"date":9,"workspace":198,"tags":199,"verdict":208,"psnr":209,"psnr_unit":-1,"wallclock":210,"splats":211,"summary_url":212,"detail_path":212},"2026-08 msplat gap sweep Phase 0.1 — 規約 v2 適用後 baseline、per-kernel breakdown 取得","splat",[200,201,202,203,204,205,206,207],"p1-g","phase-g","early-stop","sh-progressive","stacked","lego-15k","brush-compat","premultiplied","partial",36.21615219116211,"12m 46s",407267,"\u002Fruns\u002Flego-gap-baseline-12500\u002F",{"id":35,"title":35,"subtitle":214,"date":9,"workspace":198,"tags":215,"verdict":208,"psnr":216,"psnr_unit":-1,"wallclock":217,"splats":218,"summary_url":219,"detail_path":219},"2026-08 msplat gap sweep Phase 0.1 — 規約 v2 適用後 baseline、per-kernel breakdown 取得 (StopThePop 12.5k gate run)",[200,201,202,203,204,205,206,207],36.193031311035156,"11m 48s",407575,"\u002Fruns\u002Flego-stp-12500\u002F",[221,243,265,291],{"id":42,"title":222,"date":223,"status":10,"polarity":224,"category":11,"axes":225,"tags":228,"task_code":236,"related_runs":237,"delta_psnr":238,"delta_wallclock":239,"rank":48,"verdict":240,"impact_summary":241,"detail_path":242},"msplat v1.1.3 baseline spike — M4 Max 実測、Lego 30K で 3m40s \u002F 35.48 dB、materials で densify 破綻","2026-06-26","mixed",[14,226,227],2,3,[229,230,231,232,233,234,235],"msplat","baseline","apple-silicon","m4-max","nerf-synthetic","direct-comparison","thesis-ready","P1 msplat spike (critical path)",[],"Lego: 本実装 +0.78 dB (Phase H 12500 vs msplat 30K)、materials: 本実装 +21.17 dB (Phase I 12500 vs msplat 7K broken)","Lego: msplat -3.2× (msplat 3m40s vs Phase H 11m48s)、chair 7K のみ msplat -63× (msplat 17.58s vs Phase I 18m35s)","critical-path-complete-A-confirmed","\u003Cstrong>msplat (rayanht) v1.1.3 を M4 Max で実測完了\u003C\u002Fstrong>。Lego 30K で 219.8s (3m40s) \u002F 35.48 dB \u002F 208k splats、chair 7K で 17.58s \u002F 33.81 dB を確認。\u003Cstrong>本実装 Phase H lego (11m48s \u002F 36.26 dB) に対し msplat は wallclock 3.2× 高速、ただし PSNR は -0.78 dB\u003C\u002Fstrong>。materials 7K では PSNR 8.80 \u002F splats 367 と densification が壊れた — msplat の scene robustness 弱点が判明し、本実装の \u003Cstrong>universal な density 動作\u003C\u002Fstrong>が明確な差別化軸として確定。\u003Cstrong>本実装 Phase I 8 scene のうち 5 scene が msplat lego 30K の 35.48 dB を上回る\u003C\u002Fstrong> (Lego 36.26 \u002F chair 35.88 \u002F hotdog 37.37 \u002F mic 36.62 \u002F drums は 27 のみ)。Pareto plot で msplat は左上 (速い + 中品質)、本実装は右側 (遅い + 高品質 + 全 scene robust) と vector が直交。本 spike により \u003Cstrong>A (Reframing narrative) の killer figure が確定\u003C\u002Fstrong>、\u003Cstrong>B (G.2 backport) は引き続き NO-GO\u003C\u002Fstrong> (msplat が既に kernel fusion + pre-allocated bins まで実装済、本実装が追いつく工数は大)、\u003Cstrong>E (msplat 著者接触) の materials bug 報告は良い PR ネタ\u003C\u002Fstrong>。","\u002Ffindings\u002Fp1-msplat-baseline-spike\u002F",{"id":41,"title":244,"date":245,"status":10,"polarity":12,"category":246,"axes":247,"tags":248,"task_code":256,"related_runs":257,"delta_psnr":260,"delta_wallclock":261,"rank":48,"verdict":262,"impact_summary":263,"detail_path":264},"Phase I scene-adaptive iter budget — **STRONG Pareto improvement** 確定 (8 scene mean +0.077 dB at -24% wallclock vs Phase D)","2026-05-26","design",[14],[249,250,251,252,253,203,254,255],"p1-axis1","phase-i","scene-adaptive","pareto-front","stop-iter","universal-improvement","calibration","P1 Phase I",[258,259],"chair-phase-i-adaptive-12500","materials-phase-i-adaptive-12500","**+0.077 dB** (8 scene mean vs Phase D 30k)、+0.701 dB (vs brush)、-0.031 dB (vs G.3 30k = within noise)","**-24.4%** (vs Phase D)、**-31.6%** (vs G.3 30k)、both Pareto dimensions improved","scene-adaptive-pareto-confirmed","Phase H で Lego stop_iter=12500 が Pareto sweet spot だが ficus\u002Fmic で大幅 fail (-4.12 \u002F -6.03 dB) と scene-dependent 確定後、**Phase I で chair \u002F materials @ stop_iter=12500 も fast converger と確認** (G.3 30k 比 -0.05〜-0.07 dB のみで essentially same)。これにより \u003Cstrong>scene-adaptive iter budget\u003C\u002Fstrong> (Lego\u002Fchair\u002Fmaterials @ 12500、ficus\u002Fdrums\u002Fhotdog\u002Fmic\u002Fship @ 30000) を構成、\u003Cstrong>既存 8 scene 全データ点が揃った状態で 8 scene mean を算出\u003C\u002Fstrong>。\u003Cstrong>結果\u003C\u002Fstrong>: scene-adaptive 8 scene mean **33.561 dB** \u002F total wallclock **3h 50m 10s**、Phase D 30k 比 \u003Cstrong>+0.077 dB \u002F -24.4% wallclock\u003C\u002Fstrong>、G.3 30k 比 \u003Cstrong>-0.031 dB (within noise) \u002F -31.6% wallclock\u003C\u002Fstrong>、brush 比 \u003Cstrong>+0.701 dB\u003C\u002Fstrong>。\u003Cstrong>Pareto front の両軸で improvement\u003C\u002Fstrong>: Phase D を quality + speed 両方で dominate、G.3 30k quality を 1\u002F3 短時間で達成。**axis 1 contribution の最終形**: kernel-level 直叩きではなく \u003Cstrong>scene-adaptive iter budget + sh_progressive + opacity_decay の組み合わせ\u003C\u002Fstrong>が Apple Silicon native Metal 最適化の universal Pareto improvement。卒論 §5.4.7 末尾 + §6 future work で本 Phase I を明示、scene-adaptive を新 universal default として推奨。","\u002Ffindings\u002Fp1-axis1-phase-i-scene-adaptive\u002F",{"id":44,"title":266,"date":267,"status":10,"polarity":268,"category":269,"axes":270,"tags":271,"task_code":280,"related_runs":281,"delta_psnr":285,"delta_wallclock":286,"rank":287,"verdict":288,"impact_summary":289,"detail_path":290},"Phase F.1 emit_pairs_simd + f16 forward gate flip — audit Tier 1 仮説 falsified、現規模で net regression \u002F no improvement","2026-05-25","negative","audit",[14],[249,272,273,274,275,276,277,278,279],"phase-f","emit-simd","f16-forward","tier-1","falsified","negative-finding","ab-test","lego-5k","P1 Phase F.1 \u002F F.2",[282,283,284],"lego-phase-f1-emit-simd-5k","lego-phase-f1-baseline-5k","lego-phase-f2-f16-fwd-5k","±0.13 dB (両者とも許容範囲、atomic\u002Ffp 順序由来)","+4.7% (emit_simd net regression) \u002F +2.5% (f16 fwd noise 圏内)","medium","audit-falsified-tier-1","audit (p1-axis1-metal-opt-audit) で Tier 1「即 actionable gate flip、-0.7-1.0% wallclock、zero risk」と分類した 2 候補を Lego 5k smoke A\u002FB で実証検証。\u003Cstrong>emit_pairs_simd は total wallclock +4.7% の net regression\u003C\u002Fstrong> (112.11s → 117.38s、~10 kernel 平均なので noise floor 小、real regression 確定)、ただし per-kernel emit_pairs 単体は +8.5% で baseline 2 sample 変動 (4.814 \u002F 5.129、6.5%) と近い hedge 必要。\u003Cstrong>f16 forward は ~+2.5% wallclock\u003C\u002Fstrong> (114.97s)、run-to-run variance 圏内で improvement \u002F regression いずれも明確に検出できず。\u003Cstrong>PSNR は両者で許容範囲\u003C\u002Fstrong> (emit_simd -0.132 dB、f16 +0.075 dB、atomic order \u002F fp 順序由来想定)。**audit の予測 calibration data**: Tier 1 SIMD-reduction 系の効果は theory より小さく overhead が打ち消し、Tier 2 別 mechanism (CPU-GPU sync 除去) は別途検証必要、Tier 2 同 family (backward TBDR) は falsification 拡大適用で skip 判断強化。卒論 narrative 価値: 「audit theoretical predictions vs empirical measurements」の方法論 paragraph を §5.4 negative findings 章 (chapter-5-4-negative-findings.md) に追加候補。","\u002Ffindings\u002Fp1-axis1-phase-f1-emit-simd-falsified\u002F",{"id":45,"title":292,"date":267,"status":10,"polarity":268,"category":269,"axes":293,"tags":294,"task_code":300,"related_runs":301,"delta_psnr":304,"delta_wallclock":305,"rank":48,"verdict":306,"impact_summary":307,"detail_path":308},"Phase F.3 radix GPU prefix scan — bit-exact 実装完成だが Metal implicit fences で +7.4% wallclock \u002F +35-41% per-call regression、audit Tier 2 仮説 falsified",[14],[249,272,295,296,297,276,277,298,299,278,279],"radix-sort","gpu-prefix-scan","tier-2","metal-fences","tbdr","P1 Phase F.3",[302,303],"lego-phase-f3-baseline-5k","lego-phase-f3-gpu-scan-5k","+0.03 dB (parity、bit-exact 経路、session noise 内)","+7.4% (+8.58s @ 5k iter、sanity rerun +4.8% でも regression 確定)","audit-falsified-tier-2","audit (p1-axis1-metal-opt-audit) で Tier 2 「radix_sort GPU prefix sum、-0.5-0.8% wallclock、LOW PSNR risk」と分類した候補を empirical 検証。\u003Cstrong>bit-exact 実装は完成\u003C\u002Fstrong> (16-thread single-threadgroup kernel、Apple SIMD prefix exclusive sum + per-digit serial scan、100k random \u002F 500k packed keys \u002F edge cases 6 種で CPU stable sort と byte-for-byte 一致)、しかし 5k Lego smoke で \u003Cstrong>wallclock 115.83s → 124.41s (+7.4%)、ts_fwd_radix_sort 4.768 → 6.733 ms\u002Fcall (+41%)\u003C\u002Fstrong> の net regression。sanity re-run (118.73s \u002F 6.402ms) で再現確認、run-to-run 変動の上。\u003Cstrong>PSNR は parity\u003C\u002Fstrong> (31.604 → 31.635 dB、bit-exact 経路で 0 drift 期待、観測 +0.03 dB は session noise)。\u003Cstrong>Likely mechanism\u003C\u002Fstrong>: StorageModeShared buffer での back-to-back compute encoder 間で Metal が implicit fence を挿入 (hist→scan の buf_hist、scan→scatter の buf_offsets で read-after-write hazard)、TBDR pipeline stall。旧 CPU 経路は buf_hist→buf_offsets 変換を host で実行するため GPU 内 memory dependency が無く、\u003Cstrong>「除去した wait_until_completed」は実は CPU prefix scan と overlap していた active work\u003C\u002Fstrong> だった。教訓: 「CPU 介在を on-GPU に置換」族の audit 予測は overlap の存在を見落とすため systematically overestimate、Tier 2 同 family (backward TBDR、tile-local accumulator) の skip 判断強化。kernel + tests は env \u003Ccode>SPLAT_RADIX_GPU_SCAN=1\u003C\u002Fcode> で opt-in (future workload hedge)。","\u002Ffindings\u002Fp1-axis1-phase-f3-radix-gpu-prefix-falsified\u002F",1790227326539]