[{"data":1,"prerenderedAt":312},["ShallowReactive",2],{"finding:p2-w2-chained-submission":3,"finding-runs:p2-w2-chained-submission":195,"finding-related:p2-w2-chained-submission":225},{"meta":4,"impact":52,"sections":58},{"id":5,"title":6,"subtitle":7,"eyebrow":8,"date":9,"status":10,"category":11,"polarity":12,"axes":13,"tags":16,"task_code":26,"commit":27,"branch":28,"config_paths":29,"related_runs":43,"related_findings":47},"p2-w2-chained-submission","W2 encoder\u002FCB 統合 — replay -13.7% \u002F 12.5k -9.1% (bit-exact、default flip)","1 train step ~21 command buffer \u002F ~11 CPU wait のうち、GPU loss chain (ssim → l1combine → rasterize backward → project_backwards → adam) の 9 CB \u002F 9 wait を \u003Cstrong>1 CB \u002F 1 wait\u003C\u002Fstrong> に、adam 単独 5 CB \u002F 5 wait を 1 CB \u002F 1 wait に統合 (step 全体 ~14 CB \u002F ~5 wait)。dispatch 列・PSO・uniform 値は不変で CB\u002Fencoder 境界だけを動かすため \u003Cstrong>bit-exact\u003C\u002Fstrong> (uniforms は setBytes 化で per-iter の 4B buffer alloc も排除)。grad への CPU RMW (scale_reg \u002F MCMC L1) が有効な iter は adam を CB から外し RMW → adam の数学的順序を厳守。replay bench \u003Cstrong>final regime 20.87 → 18.00 ms\u002Fiter = -13.7% \u002F iter5000 18.60〜19.76 → 16.56〜16.61 = -10.7〜-15.9%\u003C\u002Fstrong>。12.5k full gate n=3: wallclock mean 241.41 → \u003Cstrong>219.51s (-9.1%)\u003C\u002Fstrong>、PSNR mean \u003Cstrong>36.170 dB\u003C\u002Fstrong> (W1 基準 36.201 比 -0.031、guard ±0.1 内) → default flip。msplat 同日等価 gap 1.44× → \u003Cstrong>1.31×\u003C\u002Fstrong>。","1× 工程表 v2 · W2 · encoder\u002FCB 統合","2026-08-16","stable","experiment","positive",[14,15],1,3,[17,18,19,20,21,22,23,24,25],"1x-roadmap-v2","w2","chained-submission","command-buffer","encoder","set-bytes","bit-exact","lego","unified-memory","2026-08 1× 工程表 v2 W2","d64d5610ee5f","main",[30,31,32,33,34,35,36,37,38,39,40,41,42],"splat\u002Fconfigs\u002F2026-08-16-w2-parity-baseline.toml","splat\u002Fconfigs\u002F2026-08-16-w2-parity-candidate.toml","splat\u002Fconfigs\u002F2026-08-16-w2-bench-final-perkernel.toml","splat\u002Fconfigs\u002F2026-08-16-w2-bench-final-chained.toml","splat\u002Fconfigs\u002F2026-08-16-w2-bench-iter5000-perkernel.toml","splat\u002Fconfigs\u002F2026-08-16-w2-bench-iter5000-chained.toml","splat\u002Fconfigs\u002F2026-08-16-lego-w2-smoke-1k-perkernel.toml","splat\u002Fconfigs\u002F2026-08-16-lego-w2-smoke-1k-chained.toml","splat\u002Fconfigs\u002F2026-08-16-lego-w2-smoke-1k-rmw-perkernel.toml","splat\u002Fconfigs\u002F2026-08-16-lego-w2-smoke-1k-rmw-chained.toml","splat\u002Fconfigs\u002F2026-08-16-lego-w2-chained-12500.toml","splat\u002Fconfigs\u002F2026-08-16-lego-w2-chained-12500-rep2.toml","splat\u002Fconfigs\u002F2026-08-16-lego-w2-chained-12500-rep3.toml",[44,45,46],"lego-w2-chained-12500","lego-w2-chained-12500-rep2","lego-w2-chained-12500-rep3",[48,49,50,51],"p2-w1-warp-sparse-skip","p2-s1-pipeline-resident","p2-bench-harness-calibration","p2-msplat-parity-lego",{"summary":53,"rank":54,"verdict":55,"delta_psnr":56,"delta_wallclock":57},"1× 工程表 v2 の第 2 波。HW 4 軸調査 #2 の CB\u002Fwait 監査 (本実装 ~21 CB \u002F ~11 wait vs msplat 1 CB \u002F 0 wait) を受け、submission 戦略を BackendConfig の enum variant として実装・gate した。同一 CB 内の連続 encoder は firmware が CPU 介在なしに back-to-back 実行するため、per-kernel の commit + waitUntilCompleted (0.1〜1 ms 級の full round trip) が丸ごと消える。replay 全体で -13.7% (final)、12.5k full run は 241.41 → 219.51s で msplat 同日等価 gap は 1.44× → 1.31× に縮小。累計 (数学的同値の施策のみ) は 766.07 → 219.51s = -71.3%。expected gate 帯 -5〜15% (F.3 overlap 割引済) のほぼ上限で着弾し、F.3 (radix GPU scan) が単独敗北した『wait 除去』が、chain 全体の統合では大きく勝つことを示した — 部分 wait 除去と全 chain 統合の ROI 差は axis 3 (unified memory \u002F submission 論) の narrative 素材。次の律速は forward 30% (radix 18% 内数) \u002F chain GPU 26%。","high","w2-adopted-default-flip-chained","12.5k gate n=3: 36.160 \u002F 36.203 \u002F 36.146 dB → mean 36.170 dB = W1 基準 36.201 (n=3 mean) 比 -0.031 dB (guard ±0.1 内、n=3 mean 判定 — n=1 判定なし)","replay bench final regime: 20.869 → 18.005 ms\u002Fiter = **-13.7%** (clean batch 帯 -13.7〜-16.2%、閾値 max(2σ,1%)=1.9%)。iter5000 regime: clean 帯 18.60〜19.76 → 16.56〜16.61 = **-10.7〜-15.9%** (閾値 ≤2.8%)。12.5k full run n=3: 213.42 \u002F 224.83 \u002F 220.27s → mean **219.51s** (W1 基準 241.41s 比 **-9.1%**)",[59,62,65,91,96,100,102,131,134,136,172,175,177,192],{"type":60,"text":61},"lead","HW 4 軸調査 #2 で、1 train step が \u003Cstrong>~21 command buffer \u002F ~11 CPU wait\u003C\u002Fstrong> (msplat は 1 CB \u002F 0 wait) であることを特定した。同一 CB 内の連続 encoder は firmware が CPU 介在なしに back-to-back 実行し、\u003Ccode>waitUntilCompleted\u003C\u002Fcode> は 0.1〜1 ms 級の full round trip。W2 は \u003Cstrong>dispatch 列 (順序・grid・PSO・uniform 値) を一切変えず、CB\u002Fencoder 境界だけを統合する\u003C\u002Fstrong>: Stage A は adam の 5 param group (means \u002F log_scales \u002F rot_quats \u002F raw_opacities \u002F sh_coeffs — 互いに素な buffer 集合で hazard なし) を 1 CB \u002F 1 encoder \u002F 5 dispatch に、Stage B は GPU loss 経路の ssim (2 encoder) → l1combine → rasterize backward → project_backwards → adam を 1 CB に連結し、loss scalar \u002F splats_grad の CPU read を commit 後の 1 wait に集約する。encoder 間の read-after-write は Metal tracked resource の自動 hazard 直列化が保証。uniforms は \u003Ccode>setBytes\u003C\u002Fcode> 渡しにして per-iter の小 buffer alloc (adam 5 本 + loss\u002Fssim 各 1 本) も排除 (値 bytes 同一で数値へ影響なし)。よって \u003Cstrong>bit-exact\u003C\u002Fstrong>。grad への CPU RMW (scale_reg \u002F MCMC L1) が有効な iter は adam のみ CB から外し、RMW → adam の数学的順序を legacy と同一に保つ (Stage A の単独 1 CB で実行)。",{"type":63,"text":64},"heading","1. 実装 (`submission = { per_kernel, chained }`)",{"type":66,"columns":67,"align":70,"rows":72},"table",[68,69],"項目","内容",[71,71],"left",[73,76,79,82,85,88],[74,75],"Stage A (adam.rs)","`Adam::encode_step` (既存 CB に 1 encoder \u002F 5 dispatch を encode) + `step_chained` (単独 1 CB wrapper)。5 group は互いに素な buffer 集合のため barrier 不要。uniforms は `set_bytes` (legacy は group ごとに `new_buffer_with_data` = 5 alloc\u002Fiter)",[77,78],"Stage B (train_loop.rs \u002F trainer.rs \u002F ssim.rs \u002F loss.rs)","`SsimEvaluator::encode_forward_and_grad` \u002F `LossEvaluator::encode_l1_only・encode_l1_combine_ssim` \u002F `Trainer::encode_backward_combined_active` (既存 batched backward から encode 部を抽出した共通 refactor) を 1 CB に連結。mean SSIM \u002F loss scalar は wait 後に `read_mean_ssim` \u002F `read_loss_mean` で読む",[80,81],"RMW 順序保証","`scale_reg > 0 || mcmc.scale_eigen_l1 > 0 || mcmc.opacity_l1 > 0` の iter は adam を統合 CB から外す (`adam_done = false`) — RMW (CPU) → refine accumulate → adam の legacy 順序を厳守。regression test あり",[83,84],"CB\u002Fwait 数","loss chain 9 CB \u002F 9 wait → **1 \u002F 1**。step 全体 ~21 CB \u002F ~11 wait → **~14 \u002F ~5** (forward 側 pipeline は S1 資産のまま)",[86,87],"config 配線","`BackendConfig.submission = { per_kernel, chained }`、`apply_backend_config` の exhaustive destructuring に配線。Stage B は GPU loss 経路のみ (host loss \u002F L2 は Stage A のみ、train_loop が起動時に note を出す)",[89,90],"timing 運用","chained では per-kernel label (ts_ssim_fwd_grad \u002F ts_backward_raster \u002F ts_adam 等) は **encode コストのみ** を計り、実 GPU 時間は `ts_chain_commit_wait` に集約 (timing.rs 注記)。**per-kernel breakdown 表は per_kernel mode で取得する運用**",{"type":92,"label":93,"variant":94,"text":95},"callout","parity — 単体 8 test + production-scale trainer parity","success","(1) kernel level: adam `step` vs `step_chained` の param\u002Fm\u002Fv \u003Cstrong>全 buffer byte 一致\u003C\u002Fstrong> (t=1..3、bias correction の t 依存込み)。ssim encode 版 vs 自己完結版の mean SSIM bits + grad byte 一致。loss encode 版 2 本の dldr byte 一致 (loss scalar は atomic reduce のため rel 1e-5)。(2) train_step level: single-texel fixture (dldr 1 element のみ非ゼロ → atomic 累積が決定的) で PerKernel vs Chained の \u003Cstrong>iter 1 の loss bits + adam 後 param\u002Fm\u002Fv byte 一致\u003C\u002Fstrong> — L1 GPU 経路 \u002F host loss (Stage A 単独) \u002F scale_reg RMW 順序の 3 構成。複数 iter は tolerance 比較 + L1+SSIM 経路も tolerance で PASS。(3) production-scale (`splat bench --parity`、Lego 409k splats): tile_offsets byte 一致 + 全 grad buffer PASS (残差 max 2.8e-5 = 既知の atomic 順序非決定性、loss diff 7.4e-8)。",{"type":92,"label":97,"variant":98,"text":99},"計測 note — 2-iter byte 一致は不成立 (fixture の決定性限界を実測で確定)","info","worktree 実装時に書かれた parity test は「single-texel なら 2 iter でも byte 一致」を仮定していたが、GPU 実行で反証された: iter 1 の adam step で param が全域微動 → iter 2 の L1 sign-grad (±1\u002FN) がほぼ全 pixel で非ゼロ → loss_sum atomic reduce + rasterize backward atomic float の加算順非決定性 (C7) により、\u003Cstrong>同一 mode の 2 run 間ですら iter 2 は 1-2 ulp 差\u003C\u002Fstrong> (probe test で実測、3\u002F3 再現)。byte 一致の要求は iter 1 に限定し、fixture の決定性前提は恒久 guard test (`per_kernel_single_texel_run_to_run_deterministic_1iter`) で防衛、複数 iter は tolerance 比較とした。判定への影響なし (chained 固有の差は存在しない)。",{"type":63,"text":101},"2. replay bench A\u002FB (final + iter5000 regime、各 n=3、baseline 同日取り直し)",{"type":66,"columns":103,"align":108,"rows":110},[104,105,106,107],"metric","per_kernel (baseline)","chained","Δ",[71,109,109,109],"right",[111,116,121,126],[112,113,114,115],"**final regime total**","20.869 ms\u002Fiter (σ 0.95%)","18.005 ms\u002Fiter (σ 0.27%)","**-13.7%** (閾値 max(2σ,1%)=1.9%)",[117,118,119,120],"final (clean batch 帯)","20.87〜21.50","17.99〜18.02","-13.7〜-16.2%",[122,123,124,125],"**iter5000 regime total**","18.60〜19.76 (clean 4 batch)","16.56〜16.61 (σ ≤0.75%、4 連続 batch)","**-10.7〜-15.9%** (閾値 ≤2.8%)",[127,128,129,130],"per-kernel 対照 (per_kernel mode、final)","ts_adam 2.50 ms\u002Fcall + ts_ssim 2.93 + ts_backward 5.17 (wait 込み)","encode 0.10 \u002F 0.10 \u002F 0.10 ms + `ts_chain_commit_wait` 7.17 ms","chain 統合で wait 重複が消えた分が total 差 (~2.9 ms\u002Fiter) と整合",{"type":92,"label":132,"variant":98,"text":133},"計測 note — config 非依存の interference window を除外 (W1 と同じ現象)","計 14 invocation 中 3 window で全 kernel が一様に +15〜25% 遅くなる slow mode を観測 (per_kernel \u002F chained の両方に発生)。W1 gate と同じ config 非依存の系統外 interference と判定し、σ が正常な batch (per_kernel σ ≤1.6% \u002F chained σ ≤0.8%) を採用。chained final は 3 clean batch で 17.99 \u002F 18.00 \u002F 18.02 と 0.1% 内に再現、iter5000 chained は 4 連続 batch で 16.56〜16.61。なお同日朝の W1 replay (19.30 ms\u002Fiter) と本 session の per_kernel baseline (20.87) の差は日内 drift — A\u002FB は同 session 内の対で判定。",{"type":63,"text":135},"3. 1k smoke + 12.5k full gate (n=3、PSNR guard は n=3 mean 判定)",{"type":66,"columns":137,"align":142,"rows":143},[138,139,140,141],"rep","wallclock (training)","PSNR (100 views)","final splats",[71,109,109,109],[144,149,154,159,164,168],[145,146,147,148],"rep1","213.42s","36.160 dB","408,258",[150,151,152,153],"rep2","224.83s","36.203 dB","407,135",[155,156,157,158],"rep3","220.27s","36.146 dB","413,223",[160,161,162,163],"**n=3 mean**","**219.51s**","**36.170 dB**","—",[165,166,167,163],"W1 baseline (n=3 mean)","241.41s","36.201 dB",[169,170,171,163],"**Δ**","**-9.1%**","-0.031 dB (guard ±0.1 内)",{"type":92,"label":173,"variant":94,"text":174},"verdict: 採用 — `submission` default を Chained に flip","replay 有意閾値 max(2σ,1%) を 5 倍超過、PSNR guard は n=3 mean で通過。1k smoke は loss curve が iter 500 まで有効数字 4-5 桁一致 (以降は refine の atomic 由来分岐で noise 圏、PSNR Δ ±0.02 dB)、grad RMW あり構成 (scale_reg = 0.001) も同様に一致し順序保証を確認。expected gate 帯 -5〜15% のほぼ上限 (-13.7% replay \u002F -9.1% full)。PerKernel は A\u002FB baseline + per-kernel timing 用に enum 保持。Stage C (indirect dispatch で pair_count readback 除去 → radix まで統合) は未実施 — W4 (untracked heap + fence) と合わせて期待値を再見積りする。",{"type":63,"text":176},"4. msplat gap の現在地と次段",{"type":66,"columns":178,"align":183,"rows":184},[179,180,181,182],"時点","Lego 12.5k","msplat 同日実測比 (167.7s)","備考",[71,109,109,71],[185,188],[186,166,187,48],"W1 (warp sparse skip + exp-skip)","1.44×",[189,161,190,191],"**+ W2 (encoder\u002FCB 統合)**","**1.31×**","本 finding、-9.1% — 累計 766.07 → 219.51s = **-71.3%、全て数学的同値の施策のみ**",{"type":92,"label":193,"variant":98,"text":194},"次段 — W2 後 breakdown と counter session","12.5k chained run の breakdown (per-CB 粒度): \u003Cstrong>forward 30.0% (radix_sort 18.0% 内数、rasterize 5.6% \u002F project 3.7% \u002F emit_pairs 2.0%) \u002F chain_commit_wait 26.0% (ssim + l1combine + backward + project_back + adam の GPU 実時間) \u002F refine 系 3.2%\u003C\u002Fstrong>。forward pipeline (特に radix) が単独最大の律速になった。1× 工程表 v2 の順序どおり counter session (HW-3) で limiter を確定し、W3a (SSIM float4)・W3b (Splat2D 48B 化)・W4 (untracked heap + Stage C) の優先度を実測に従わせる。",[196,211,218],{"id":44,"title":44,"subtitle":197,"date":9,"workspace":198,"tags":199,"verdict":206,"psnr":207,"psnr_unit":-1,"wallclock":208,"splats":209,"summary_url":210,"detail_path":210},"2026-08 1× 工程表 v2 W2 — encoder\u002FCB 統合 chained submission (bit-exact) の 12.5k PSNR guard + wallclock gate (rep1\u002F3 — PSNR guard は n=3 mean 判定)","splat",[200,19,201,202,203,204,205],"p2-w2","encoder-cb","gpu-gate","lego-12500","brush-compat","premultiplied","partial",36.15993118286133,"3m 33s",408258,"\u002Fruns\u002Flego-w2-chained-12500\u002F",{"id":45,"title":45,"subtitle":212,"date":9,"workspace":198,"tags":213,"verdict":206,"psnr":214,"psnr_unit":-1,"wallclock":215,"splats":216,"summary_url":217,"detail_path":217},"2026-08 1× 工程表 v2 W2 — encoder\u002FCB 統合 chained submission (bit-exact) の 12.5k PSNR guard + wallclock gate (rep2\u002F3 — PSNR guard は n=3 mean 判定)",[200,19,201,202,203,204,205],36.203433990478516,"3m 44s",407135,"\u002Fruns\u002Flego-w2-chained-12500-rep2\u002F",{"id":46,"title":46,"subtitle":219,"date":9,"workspace":198,"tags":220,"verdict":206,"psnr":221,"psnr_unit":-1,"wallclock":222,"splats":223,"summary_url":224,"detail_path":224},"2026-08 1× 工程表 v2 W2 — encoder\u002FCB 統合 chained submission (bit-exact) の 12.5k PSNR guard + wallclock gate (rep3\u002F3 — PSNR guard は n=3 mean 判定)",[200,19,201,202,203,204,205],36.146305084228516,"3m 40s",413223,"\u002Fruns\u002Flego-w2-chained-12500-rep3\u002F",[226,245,270,291],{"id":50,"title":227,"date":9,"status":10,"polarity":12,"category":228,"axes":229,"tags":230,"task_code":238,"related_runs":239,"delta_psnr":-1,"delta_wallclock":241,"rank":54,"verdict":242,"impact_summary":243,"detail_path":244},"splat bench harness 実装 + calibration — σ_replay 0.83%、full run 比 ~6x ノイズ削減","tooling",[14,15],[231,232,233,234,235,236,237,24],"bench-harness","calibration","variance","reproducibility","c7","fixed-workload","gate-infra","splat bench harness (2026-08-16 GPU 専有タスク)",[240],"lego-bench-calib-checkpoints","σ_replay 0.83% (n=10, final-scale workload) vs full run 実測 ~10% — 約 6x ノイズ削減","accepted","`splat bench --config bench.toml` を実装し、同一 config n=10 replay で \u003Cstrong>σ_replay = 0.234 ms\u002Fiter (mean 28.339 ms 比 0.83%)\u003C\u002Fstrong> を実測。full training run で観測されていた ~10% 分散に対し \u003Cstrong>約 6x のノイズ削減\u003C\u002Fstrong>。3-regime (iter 1000 \u002F 5000 \u002F final checkpoint、各 n=5) でも σ 1.2-4.6% の範囲に収まり、splat 数が少ない早期 regime ほど相対分散が大きい傾向を確認。有意判定閾値を \u003Ccode>max(2σ, 1%)\u003C\u002Fcode> と規約化し、以後の gate 判定をこの harness の計測に載せ替える。付随して `--parity` (kernel variant 間の勾配 \u002F binning 一致検証) と `[output] save_ply_at` (checkpoint 保存) を実装、parity mode の実測で production-scale シーンの `sorted_idx` tie-order 非決定性 (~0.2%、真の非決定性であって variant 差ではない) を発見し gate から除外した。","\u002Ffindings\u002Fp2-bench-harness-calibration\u002F",{"id":51,"title":246,"date":9,"status":10,"polarity":247,"category":11,"axes":248,"tags":250,"task_code":261,"related_runs":262,"delta_psnr":265,"delta_wallclock":266,"rank":54,"verdict":267,"impact_summary":268,"detail_path":269},"P2 msplat parity — 同日等価比較で msplat 30K = 167.7s \u002F 36.5 dB、gap は 12.5k で 2.10× (matched-wallclock 7.5k は 1.08× で brush +0.94 dB)","mixed",[14,249],2,[251,252,253,254,255,256,257,258,24,259,260],"gap-sweep","phase-3","msplat","parity","baseline","cross-eval","eval-convention","thermal-interleave","m4-max","thesis-ready","2026-08 msplat gap sweep Phase 3 (parity 再計測)",[263,264],"lego-parity-noprof-12500","lego-parity-noprof-7500","brush convention (同一 evaluator): 本実装 12.5k +1.79 dB \u002F 7.5k +0.94 dB (vs msplat 30K q8 34.47)。white-bg convention: msplat +1.09 dB (36.28 vs 本実装 12.5k 35.19)","msplat 30K 167.7s vs 本実装 12.5k 352.3s = **2.10×** (両者 profile なし・同日実測)。matched-wallclock: 7.5k 181.4s = 1.08×。従来の 1.53× (spike 値 220s 基準) は撤回","parity-established-gap-2.10x-convention-coupled-psnr","gap sweep の公式 gap 数値を \u003Cstrong>同日・同一条件の実測で確定\u003C\u002Fstrong>: Lego 12.5k vs msplat 30K の wallclock gap は \u003Cstrong>2.10×\u003C\u002Fstrong> (352.3s vs 167.7s、両者 profiling なし) — Phase 2 の 1.53× は spike の古い msplat 値 (219.8s) 起因の過小評価だった。一方 \u003Cstrong>matched-wallclock 断面 (本実装 7.5k = 181.4s、msplat の 1.08×)\u003C\u002Fstrong> では brush convention の同一 evaluator cross-eval で本実装が \u003Cstrong>+0.94 dB\u003C\u002Fstrong> (35.41 vs 34.47)。PSNR 比較は eval convention に強く依存し (white-bg では msplat +1.09 dB)、p1-a-3 の「訓練\u002F評価 convention coupling」を第三者実装との比較で再実証した。msplat の native 品質が spike 比 +1.05 dB 向上した主因は今回の対称条件 (同一 culled init.ply 5207 pts・train 100 view 全量・常時フル解像度) にあり、msplat 側の条件を今回初めて本実装と揃えた結果。卒論 §5 の direct comparison 表はこの数値で置き換える。","\u002Ffindings\u002Fp2-msplat-parity-lego\u002F",{"id":49,"title":271,"date":9,"status":10,"polarity":12,"category":11,"axes":272,"tags":273,"task_code":280,"related_runs":281,"delta_psnr":286,"delta_wallclock":287,"rank":54,"verdict":288,"impact_summary":289,"detail_path":290},"S1 pipeline 全域 resident 化 — replay bench -22.9% (final regime) で採用 (Tier A\u002FB\u002FC)",[14,15],[251,274,275,276,277,25,202,278,231,24,279],"phase-2","s1","resident","alloc-audit","adopted","attribution","S1 pipeline 全域 resident 化 worktree 統合 + GPU gate (2026-08-16 GPU 専有タスク)",[282,283,284,285,240],"lego-s1-resident-12500","lego-s1-resident-12500-rep2","lego-s1-resident-12500-rep3","lego-gap-baseline-12500","12.5k full run PSNR guard: 基準 36.19 前後 (歴代同 recipe 7 run 分布 36.138-36.226) に対し rep1 36.051 (-0.14、guard 外) \u002F rep2 36.168 \u002F rep3 36.224 dB → n=3 mean 36.148 dB = -0.04 dB (±0.1 dB guard 内、PASS)。rep1 は歴代最低値だが S1 は数学的同値 (parity test 群で証明) のため run 分散の tail と判定","replay bench final regime n=3: 28.630 → 22.059 ms\u002Fiter = **-22.9%** (閾値 max(2σ,1%)=2.05%)。iter5000 regime n=3: 26.113 → 20.405 ms\u002Fiter = **-21.9%** (閾値 1.29%)。12.5k full run: 公式 336.33s → rep1 272.36s \u002F rep2 257.55s \u002F rep3 254.73s = mean 261.55s (**-22.2%**)","adopted-unconditional-no-flag","別 worktree で実装済みだった S1 (pipeline 全域 resident 化) を main へ統合。C3 統合後の tile_bin.rs と conflict したため手 merge し、C3 (rejected flag) との新規相互作用 (S1 の buffer 直結が C3 の panic guard に当たる) はフォールバック + regression test で解決。build warning 0、MSL smoke compile (adam.metal binding 変更) + 新規 S1 test 9 本 (resident byte-stability \u002F grow path \u002F ForwardState parity \u002F Vec vs raw parity \u002F C3 fallback) 含む workspace 全 test pass。replay bench は \u003Cstrong>final regime -22.9% \u002F iter5000 -21.9%\u003C\u002Fstrong> と Phase 2 単一項目として C0 に次ぐ効果で、attribution 計測 (S1 で新設した DispatchAttribution 4 点) が alloc 成分の消滅を直接証明 — C0 の「主犯は first-touch page fault」結論の pipeline 全域への一般化。12.5k full gate は PSNR rep1 が guard 外 (36.051) に出たが n=3 escalation で tail variance と確定 (rep2 36.168 \u002F rep3 36.224、歴代同 recipe 分布 36.14-36.23)。採用 — flag なしの無条件変更として default 化。","\u002Ffindings\u002Fp2-s1-pipeline-resident\u002F",{"id":48,"title":292,"date":9,"status":10,"polarity":12,"category":11,"axes":293,"tags":294,"task_code":302,"related_runs":303,"delta_psnr":307,"delta_wallclock":308,"rank":54,"verdict":309,"impact_summary":310,"detail_path":311},"W1 warp sparse skip + exp-skip — backward -35% \u002F replay -11.2% (bit-exact)",[14],[17,295,296,297,298,299,300,301,23,24],"w1","warp-sparse-skip","exp-skip","backward","forward","simd-any","function-constant","2026-08 1× 工程表 v2 W1",[304,305,306],"lego-w1-warpany-12500","lego-w1-warpany-12500-rep2","lego-w1-warpany-12500-rep3","12.5k gate n=3: 36.209 \u002F 36.201 \u002F 36.193 dB → mean 36.201 dB = 基準 36.148 (S1 n=3 mean) 比 +0.053 dB (guard ±0.1 内、n=3 mean 判定 — S1 の教訓に従い n=1 判定なし)","replay bench final regime: 21.724 → 19.300 ms\u002Fiter = **-11.16%** (閾値 max(2σ,1%)=2.7%)。iter5000 regime: 19.984 → 17.759 = **-11.13%** (閾値 3.1%)。backward_raster: 7.183 → 4.652 ms\u002Fcall (**-35.2%**、GPU 部 5.963 → 3.437 = -42.4%)。12.5k full run n=3: 239.74 \u002F 246.93 \u002F 237.57s → mean **241.41s** (S1 基準 261.55s 比 **-7.7%**)","w1-adopted-default-flip-warp-any","1× 工程表 v2 の第 1 波。msplat \u002F Inria \u002F brush の 3 実装が持ち本実装だけ欠落していた backward の 2 つの skip を、bit-exact の等価性論証つきで移植した。backward_raster は LC (2-BWD) 後の 7.2ms\u002Fcall から 4.65ms\u002Fcall へ -35.2% (kernel share 13.1% に低下)、replay 全体で -11.2%。12.5k full run は 261.55 → 241.41s で msplat 同日等価 gap は 1.56× → 1.44× に縮小。数学的同値の施策のみの累計は 766.07 → 241.41s = -68.5% になった。次の律速は forward (23.6%) \u002F radix (15.0%) で、W2 (encoder\u002FCB 統合) と計測 (counter session) が次段。","\u002Ffindings\u002Fp2-w1-warp-sparse-skip\u002F",1790227327646]