[{"data":1,"prerenderedAt":261},["ShallowReactive",2],{"finding:p1-axis1-phase-f1-emit-simd-falsified":3,"finding-runs:p1-axis1-phase-f1-emit-simd-falsified":151,"finding-related:p1-axis1-phase-f1-emit-simd-falsified":179},{"meta":4,"impact":35,"sections":41},{"id":5,"title":6,"subtitle":7,"eyebrow":8,"date":9,"status":10,"category":11,"polarity":12,"axes":13,"tags":15,"task_code":25,"related_runs":26,"related_findings":30},"p1-axis1-phase-f1-emit-simd-falsified","Phase F.1 emit_pairs_simd + f16 forward gate flip — audit Tier 1 仮説 falsified、現規模で net regression \u002F no improvement","Phase D 30k 完遂後 (8 scene mean 33.49 dB) の audit Tier 1 (\"既実装 gate flip で zero-risk improvement\") を Lego 5k smoke A\u002FB で empirical 検証、両 gate (emit_pairs_simd \u002F SPLAT_F16_FORWARD) とも improvement 確認できず。**emit_pairs SIMD は total wallclock +4.7% の net regression** (run-to-run noise 上)、**f16 forward は noise 圏内** (±2.5% 程度)、PSNR は両者とも維持 (±0.13 dB drift で許容)。audit の predictive accuracy は (a) 効果の方向性は一致 (improve 期待 → no harm) (b) 効果の大きさは empirical で逆方向 という calibration data。Tier 2 radix GPU prefix sum は別 mechanism family (CPU-GPU sync 除去) で再評価対象、backward TBDR は同 family の falsification 拡大適用で skip 判断強化。","P1 axis 1 · Phase F.1 · Tier 1 falsified · 方法論 finding","2026-05-25","stable","audit","negative",[14],1,[16,17,18,19,20,21,22,23,24],"p1-axis1","phase-f","emit-simd","f16-forward","tier-1","falsified","negative-finding","ab-test","lego-5k","P1 Phase F.1 \u002F F.2",[27,28,29],"lego-phase-f1-emit-simd-5k","lego-phase-f1-baseline-5k","lego-phase-f2-f16-fwd-5k",[31,32,33,34],"p1-axis1-metal-opt-audit","p1-profiling-clean","p1-e-refine-gpu-smoke","a-6-f16-packed-rebench",{"summary":36,"rank":37,"verdict":38,"delta_psnr":39,"delta_wallclock":40},"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) に追加候補。","medium","audit-falsified-tier-1","±0.13 dB (両者とも許容範囲、atomic\u002Ffp 順序由来)","+4.7% (emit_simd net regression) \u002F +2.5% (f16 fwd noise 圏内)",[42,45,50,53,110,112,119,121,126,128,134,136,142,144],{"type":43,"text":44},"lead","audit (p1-axis1-metal-opt-audit) で \u003Cstrong>Tier 1 = 「既実装 code の gate flip、-0.7-1.0% wallclock、zero risk」\u003C\u002Fstrong> と分類した 2 候補 (emit_pairs_simd \u002F SPLAT_F16_FORWARD) を Lego 5k smoke (seed=42 固定、~84k splats、premultiplied) で A\u002FB test。\u003Cstrong>両者とも audit 予測の improvement を再現できず\u003C\u002Fstrong>、emit_pairs SIMD は total wallclock +4.7% の net regression、f16 forward は variance 圏内。PSNR は許容範囲。今回の data は \u003Cstrong>audit の predictive calibration\u003C\u002Fstrong> として価値あり、Tier 2 への適用判断を再考。",{"type":46,"label":47,"variant":48,"text":49},"callout","Headline (Tier 1 hypothesis falsified)","warning","\u003Cstrong>audit Tier 1 \"-0.7-1.0% wallclock、zero risk\" 予測は empirical 検証で半 falsified\u003C\u002Fstrong>。emit_pairs_simd は \u003Cstrong>total wallclock +4.7% (112.11 → 117.38s、real regression)\u003C\u002Fstrong>、f16 forward は \u003Cstrong>+2.5% (114.97s、variance 圏内で no clear effect)\u003C\u002Fstrong>。SIMD prefix sum overhead が atomic 32× 削減効果を上回る、f16 accumulator は fwd_rasterize 6.1% share の中で測定限界以下。**結論**: tile_bin.rs の \u003Ccode>use_simd_emit\u003C\u002Fcode> および \u003Ccode>SPLAT_F16_FORWARD\u003C\u002Fcode> env はいずれも **default false (元の状態) を維持**、コメントを hedge して別 workload 再評価の余地のみ残す。Tier 2 radix GPU prefix sum (別 mechanism、CPU-GPU sync 除去) は実装着手、Tier 2 backward TBDR (同 family) は skip 強化。",{"type":51,"text":52},"heading","1. A\u002FB test 数値 (Lego 5k smoke、seed=42、premultiplied、3 run 同条件)",{"type":54,"columns":55,"align":61,"rows":64,"caption":109},"table",[56,57,58,59,60],"metric","F.1 baseline (false)","F.1 SIMD (true)","F.2 f16 fwd (env=1)","audit 予測",[62,63,63,63,62],"left","right",[65,71,77,83,88,93,98,104],[66,67,68,69,70],"total wallclock","**112.11s**","117.38s (**+4.7%**)","114.97s (+2.5%)","-0.7〜-1.0% (両者)",[72,73,74,75,76],"TOTAL kernel sum","168.015s","177.394s (+5.6%)","173.548s (+3.3%)","",[78,79,80,81,82],"ts_fwd_emit_pairs ms\u002Fcall","4.814","5.221 (+8.5%)","5.129 (+6.5%)","-7% (audit)",[84,85,86,87,76],"ts_fwd_emit_pairs share","14.3%","14.7%","14.8%",[89,90,91,91,92],"ts_fwd_rasterize ms\u002Fcall","1.955","1.978 (+1.2%)","-1% (audit)",[94,95,96,97,76],"ts_fwd_rasterize share","5.8%","5.9%","5.7%",[99,100,101,102,103],"mean val PSNR (100 view)","**31.720**","31.588 (**-0.132**)","31.795 (**+0.075**)","±0 dB",[105,106,107,108,76],"final splats","84,976","84,208 (-0.9%)","87,181 (+2.6%)","F.1 baseline は変更後の use_simd_emit=false で取り直し (時間内 noise 排除)。F.1 SIMD = use_simd_emit=true、F.2 = SPLAT_F16_FORWARD=1 (use_simd_emit は config 設定だが binner false default で実質効かず)。**total wallclock 列が最重要 metric**、~10 kernel 平均で noise floor 小さく run-to-run 変動 ~2% 程度。SIMD enable で +4.7% は noise floor を明確に超える、f16 +2.5% は noise floor 上だが判断境界。",{"type":51,"text":111},"2. 仮説 falsification 分析",{"type":113,"ordered":114,"items":115},"list",true,[116,117,118],"\u003Cstrong>emit_pairs_simd: audit theory \"1M atomic op → 30k SIMD group atomic = 32× 削減 → -0.7-1.0% wallclock\" は overhead 評価が浅かった\u003C\u002Fstrong>。SIMD prefix sum (simd_prefix_exclusive_sum) は 32 thread coordination + per-thread offset 計算で固定 overhead、Lego ~84k splats × 10 tile\u002Fsplat ≈ 1M pair で atomic 削減 benefit が overhead を上回らない。より大規模 workload (>>200k splats、tile_per_splat 高 scene) では逆転の可能性あるが、現在の Phase D 8 scene baseline には適用不可。","\u003Cstrong>f16 forward: audit theory \"f16 accumulator で bandwidth + tile-local memory 圧迫軽減 → -0.5-1%\" は forward 6.1% share の中での測定限界以下\u003C\u002Fstrong>。fwd_rasterize 単体で +1.2% (noise) は f16 conversion overhead と相殺、underflow regime (T\u003C6e-5) の数値劣化も観察されず。改修自体は数値安全だが、measurable improvement なし。","\u003Cstrong>audit calibration として: SIMD-reduction family の予測は theory-driven で empirical scaling unknown、別 mechanism (CPU-GPU sync 除去 = radix prefix sum) は別途検証要\u003C\u002Fstrong>。Tier 2 backward TBDR は同 family の falsification 拡大適用で skip 判断強化、radix prefix sum は CPU 16-pass round-trip 除去という structurally different なので独立検証。",{"type":51,"text":120},"3. PSNR 安全性確認",{"type":113,"items":122},[123,124,125],"\u003Cstrong>emit_pairs_simd: -0.132 dB drift\u003C\u002Fstrong> (31.720 → 31.588) — atomic 累積順序の permutation 由来。pair count \u002F sort key 値は不変、rasterize input の splat 順序のみ変化。5k smoke variance 圏内 (±0.1-0.2 dB)、catastrophic regression なし","\u003Cstrong>f16 forward: +0.075 dB drift\u003C\u002Fstrong> (31.720 → 31.795) — f16 accumulator は数値 narrow だが pix_out 累積で十分、underflow regime (T\u003C6e-5) でも practical drift なし。むしろ improve (noise 圏)","\u003Cstrong>両者とも PSNR 安全\u003C\u002Fstrong>、M5 baseline (8 scene mean 33.49 dB) を脅かさない。再活性化判断は wallclock 効果次第、現在は両者とも default false 維持",{"type":51,"text":127},"4. 教訓 \u002F 卒論 narrative",{"type":113,"items":129},[130,131,132,133],"\u003Cstrong>audit 段階の theoretical reasoning は empirical scaling validation が必須\u003C\u002Fstrong> — Sonnet Explore subagent の予測は機構分析として正しいが定量的予測は overestimate しがち (Phase E refine GPU 化、target_upload cache、本 F.1 で 3 度目)","\u003Cstrong>total wallclock が最も signal-rich metric\u003C\u002Fstrong> — per-kernel timing は run-to-run noise 大きく (6.5% baseline 変動)、share data も比例して noisy。multi-kernel total での比較が変動小さく judgment 信頼可能","\u003Cstrong>「既実装 code の gate flip」は zero risk ではない\u003C\u002Fstrong> — code が存在しても enable 状態で別 trade-off が顕在化、A\u002FB 検証なしの flag flip は false-positive optimization の温床","\u003Cstrong>§5.4 negative findings 章追加候補\u003C\u002Fstrong>: 「audit theoretical predictions vs empirical measurements — Phase E refine \u002F Phase F emit_simd \u002F Phase F f16 fwd の 3 連続 falsification と calibration data」を方法論 paragraph として",{"type":51,"text":135},"5. 次のアクション (advisor 助言反映)",{"type":113,"ordered":114,"items":137},[138,139,140,141],"\u003Cstrong>Tier 2 radix GPU prefix sum\u003C\u002Fstrong>: 別 mechanism (CPU-GPU sync 16-pass 除去) で再評価対象。audit 予測 -0.5-0.8% は \u003Cstrong>conservative かもしれず\u003C\u002Fstrong> (16 × wait_until_completed × 50-200µs = 0.8-3.2ms\u002Fiter on 22ms iter = potentially 3-14%)。subagent worktree で 4-5h 実装、empirical 検証","\u003Cstrong>Tier 2 backward TBDR: skip\u003C\u002Fstrong> — SIMD-reduction 同 family の falsification 拡大適用、6-8h + MED-HIGH PSNR risk は poor bet given today's calibration","\u003Cstrong>Tier 3 SSIM kernel fusion\u003C\u002Fstrong>: eval-only kernel で training 直接寄与なし、卒論 narrative のみ。優先度低","\u003Cstrong>並行価値タスク\u003C\u002Fstrong>: §5.4 negative findings 章への本 falsification data 統合 (H.4\u002FH.5 polishing)、Phase E + 本 F の 2 連続 audit-vs-empirical 比較 paragraph 追加",{"type":51,"text":143},"6. 関連",{"type":113,"items":145},[146,147,148,149,150],"audit baseline: \u003Ccode>p1-axis1-metal-opt-audit\u003C\u002Fcode> (5 候補 + Tier 分類)","本 F.1 で再評価対象とした profile: \u003Ccode>p1-profiling-clean\u003C\u002Fcode>","同 negative pattern (audit theory 予測 → empirical 棄却): \u003Ccode>p1-e-refine-gpu-smoke\u003C\u002Fcode> (refine GPU 化 5x 予測 → 実測 0.2%)、\u003Ccode>p1-axis1-target-cache\u003C\u002Fcode> (5.5% 予測 → 0.23% async overlap で 1\u002F25)、\u003Ccode>a-6-f16-packed-rebench\u003C\u002Fcode> (-50% bandwidth 予測 → 実 -1%)","Phase D baseline (M5 達成): \u003Ccode>p1-d-multi-scene-rechain\u003C\u002Fcode>","卒論統合候補 chapter: \u003Ccode>chapter-5-4-negative-findings\u003C\u002Fcode> (axis 1 audit predictions section)",[152,165,172],{"id":28,"title":28,"subtitle":153,"date":9,"workspace":154,"tags":155,"verdict":160,"psnr":161,"psnr_unit":-1,"wallclock":162,"splats":163,"summary_url":164,"detail_path":164},"Phase F.1 baseline (use_simd_emit=false) re-take for A\u002FB","splat",[156,157,17,158,24,159],"p1-profile","axis-1","ab-baseline","premultiplied","partial",31.628820419311523,"1m 52s",82338,"\u002Fruns\u002Flego-phase-f1-baseline-5k\u002F",{"id":27,"title":27,"subtitle":166,"date":9,"workspace":154,"tags":167,"verdict":160,"psnr":168,"psnr_unit":-1,"wallclock":169,"splats":170,"summary_url":171,"detail_path":171},"Phase F.1 emit_pairs_simd gate flip 5k smoke (clean baseline 比較用)",[156,157,17,18,24,159,20],31.588451385498047,"1m 57s",84208,"\u002Fruns\u002Flego-phase-f1-emit-simd-5k\u002F",{"id":29,"title":29,"subtitle":173,"date":9,"workspace":154,"tags":174,"verdict":160,"psnr":175,"psnr_unit":-1,"wallclock":176,"splats":177,"summary_url":178,"detail_path":178},"Phase F.2 f16 forward kernel A\u002FB test 5k smoke",[156,157,17,19,24,159,20],31.79549217224121,"1m 54s",87181,"\u002Fruns\u002Flego-phase-f2-f16-fwd-5k\u002F",[180,204,224,246],{"id":34,"title":181,"date":9,"status":10,"polarity":12,"category":182,"axes":183,"tags":185,"task_code":196,"related_runs":197,"delta_psnr":198,"delta_wallclock":199,"rank":200,"verdict":201,"impact_summary":202,"detail_path":203},"A.6 再評価 (Phase D 文脈) — feat.G f16 packed の ROI 上限 ~3.3%、M5 gate margin 0.11 dB と PSNR drift リスクが干渉、再着手非推奨","spec",[184],3,[186,187,188,189,190,191,192,193,12,194,195],"phase-5","a-6","feat-g","f16","packed","splat2d","phase-d","bound-check","premise-correction","deferred","A.6 (rebench)",[],"implement 時 0.1-0.5 dB regression risk (M5 margin 0.11 dB 食い込みあり)","実装 ceiling ~3.3% (旧 ~1% より上限上昇だが期待値 20-40% に遠く及ばず)","low","halt-orientation-only","User task brief は Phase D 375k 文脈で旧 A.6 (~1% wallclock ROI) を再評価し f16 packed の真の bandwidth ROI を引き出すことを期待したが、orientation 段階で feat.G 実装の事実関係を確認した結果、3 つの factual error (32 byte \u002F -11% \u002F ~12 MB) が判明。bound math (rasterize fwd+bwd share 上限 30% × bandwidth 削減 11%) より wallclock 上限 ~3.3%、user brief の 20-40% 期待は実装の物理特性と整合しない。加えて M5 Lego val gate margin (+0.11 dB) より RGB f16 round-trip 誤差 (rel 5e-4、abs ~0.5 dB drift 想定) の方が大きい可能性、再着手は M5 gate を割るリスク。orientation 段階で halt、bench 不実施。","\u002Ffindings\u002Fa-6-f16-packed-rebench\u002F",{"id":31,"title":205,"date":9,"status":10,"polarity":206,"category":207,"axes":208,"tags":209,"task_code":216,"related_runs":217,"delta_psnr":218,"delta_wallclock":219,"rank":220,"verdict":221,"impact_summary":222,"detail_path":223},"P1 axis 1 Metal 最適化候補 audit — 5 候補 + 既実装 gate flip 機会、Tier 1 -1.0% wallclock 即時 actionable","positive","design",[14],[156,157,210,211,212,213,214,215],"metal-optimization","kernel-audit","tbdr","simd-reduction","apple-silicon","gate-flip","P1 axis 1 Metal kernel audit",[],"N\u002FA (audit)","estimated -1.5 〜 -2.5% (Tier 1+2)","high","design-complete-actionable","5 kernel (clean baseline share 合計 55.1%) を Explore subagent で構造的 audit、Apple Silicon 特化最適化候補を kernel 単位で 2-4 個ずつ抽出。\u003Cstrong>最大の発見\u003C\u002Fstrong>: **emit_pairs_simd PSO は既に実装済**、\u003Ccode>use_simd_emit: Cell::new(false)\u003C\u002Fcode> で gate off、comment に「30k validation 後 default true 化予定」(tile_bin.rs:86-87)、**Phase D 30k 完遂で即 flip 可能** (-0.7-1.0% wallclock 即時、zero risk)。同様の即 actionable 機会: f16 forward kernel \u003Ccode>render_splats_f16\u003C\u002Fcode> は env \u003Ccode>SPLAT_F16_FORWARD=1\u003C\u002Fcode> gate (現在 disabled、A\u002FB test 必須 PSNR risk MED-HIGH)。\u003Cstrong>Tier 2 (Phase E scope)\u003C\u002Fstrong>: radix_sort GPU prefix sum (-0.54-0.82% wallclock、CPU-GPU 16-pass sync 除去)、backward_raster imageblock+TBDR (-0.67-1.07% wallclock、tile-local 累積で atomic 大幅削減)。\u003Cstrong>累計 -1.5-2.5% wallclock 改善余地確定、卒論 §6 future work 候補と pilot 実装目標\u003C\u002Fstrong>。backward SIMD reduction は既に default 有効 (rasterize.rs:642、2.43× win 享受中で確認済)、SSIM は eval-only で training 直接寄与なしのため Tier 3。","\u002Ffindings\u002Fp1-axis1-metal-opt-audit\u002F",{"id":33,"title":225,"date":9,"status":10,"polarity":12,"category":226,"axes":227,"tags":228,"task_code":236,"related_runs":237,"delta_psnr":241,"delta_wallclock":242,"rank":220,"verdict":243,"impact_summary":244,"detail_path":245},"P1.E refine GPU 化 hypothesis を SPLAT_TIMING profile で falsified — refine 寄与は \u003C1%、真の bottleneck は forward 60% + loss 28%","experiment",[14],[229,230,231,22,232,233,234,235,24],"p1","phase-e","refine-gpu","kernel-profile","axis-1-limit","opacity-decay-gpu","kernel-plumbing","P1.E refine GPU 化 (axis 1 core contribution)",[238,239,240],"p1-e-profile-1k","p1-e-profile-5k","p1-e-gpu-decay-5k","-0.21 dB (CPU 31.92 → GPU 31.71、5k smoke、bit-close 内 RNG cascade)","+1.4% (CPU 144.32s → GPU 146.32s、5k smoke、opacity_decay は 0.005% で誤差)","accepted-negative-redirect-phase-f","Phase D 30k 実測 wallclock 41m54s vs brush 9m08s = -4.6x gap の原因について、task は `splat process CPU 63.4% = 1 core only` → 「refine の host RMW loop が CPU 1-thread bound」と仮説立てた。本 Phase E ではこの仮説を SPLAT_TIMING profile で実測。5k smoke (84k splats、p1-e-profile-5k.toml) の kernel breakdown: **ts_forward 60.1% (123s) \u002F ts_loss_gpu 28.0% (57s) \u002F ts_adam 4.8% (9.9s) \u002F ts_target_upload 3.9% (8.1s) \u002F ts_project_back 2.3% (4.75s) \u002F ts_refine_compact 0.6% (1.14s, 103ms\u002Fcall × 11) \u002F ts_refine_accumulate 0.3% (605ms) \u002F ts_opacity_decay 0.0046% (957µs)**。**refine 全体で \u003C1%** = refine を完璧に GPU 化しても全体 wallclock は -1% も短縮されない。代わりに demo kernel として `refine_opacity_decay.metal` を実装し、kernel + Rust pipeline + `refine.gpu_path` flag plumbing pattern を validate (CPU vs GPU max diff 1.5e-5、5k full PSNR delta -0.21 dB = 許容内)。Phase F の真の target は (a) forward subdivision で判明した tile-binning chain (`ts_fwd_sort 15.5% + ts_fwd_emit 12.8%`)、(b) Adam の 5x sequential `cmd.wait_until_completed` (1 cmd buffer 化で ~5% 削減期待)、(c) target_upload preload (~4% 削減期待) の 3 つ。","\u002Ffindings\u002Fp1-e-refine-gpu-smoke\u002F",{"id":32,"title":247,"date":9,"status":10,"polarity":248,"category":11,"axes":249,"tags":250,"task_code":255,"related_runs":256,"delta_psnr":218,"delta_wallclock":218,"rank":220,"verdict":258,"impact_summary":259,"detail_path":260},"P1 clean single-process profile baseline — radix_sort 27% → 13.6%、emit_pairs 6.5% → 14.2% の share 大幅 shift、axis 1 真の ROI 上限確定","neutral",[14],[156,157,251,252,253,159,24,254],"clean-baseline","kernel-share","single-process","share-correction","P1 axis 1 profile re-baseline",[257],"lego-profile-clean-5k","audit-complete-share-correction","clean single-process で per-kernel share を取り直し、前 profile baseline (multi-process contention 中) と比較すると \u003Cstrong>share が大幅 shift\u003C\u002Fstrong>: 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% を kernel level で再現)。新 axis 1 ROI 上限: emit_pairs 改善 -14% \u002F radix_sort -13% \u002F backward_raster -13% \u002F ssim_fusion -7-8%。Phase E (refine GPU 化) の ROI 仮説 -5x は元々 share 2.6% で 1\u002F40 過大評価だったが、本 clean baseline でも refine 0.2% に縮小、棄却強化。target_upload は本 clean baseline で完全消滅 (cache 化済)。","\u002Ffindings\u002Fp1-profiling-clean\u002F",1782449788632]