[{"data":1,"prerenderedAt":183},["ShallowReactive",2],{"run:m5a-12500-off-r2":3,"run-findings:m5a-12500-off-r2":152},{"run":4,"config":17,"metrics":97,"curve":103,"assets":151},{"id":5,"title":5,"subtitle":6,"eyebrow":7,"date":8,"workspace":9,"commit":10,"tags":11,"verdict":16},"m5a-12500-off-r2","M5a SSIM float4 gate arm A (baseline, per_channel): Lego 12.5k full run repeat 2","Run summary · 2026-09 第 5 回ゼミ milestones — M5a (A6 SSIM float4 化)","2026-08-30","splat","324d052",[12,13,14,15],"p3-ssim-float4","m5a","gpu-gate","lego","partial",[18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,80,83,86,88,91,94],{"key":19,"value":20},"dataset","\u002FUsers\u002Fotkrickey\u002Fdev\u002F3dgs-workspace\u002Fdatasets\u002Fnerf_synthetic\u002Flego",{"key":22,"value":23},"gt_convention","Premultiplied",{"key":25,"value":26},"iterations","12,500",{"key":28,"value":29},"seed","42",{"key":31,"value":32},"capacity","1,000,000 splats",{"key":34,"value":35},"sh_degree","3",{"key":37,"value":38},"loss","L1Ssim",{"key":40,"value":41},"lambda","0.200",{"key":43,"value":44},"ssim","window=7 sigma=1",{"key":46,"value":47},"backend.backward","Simd",{"key":49,"value":50},"backend.loss_path","Gpu",{"key":52,"value":53},"backend.emit_pairs","Original",{"key":55,"value":56},"backend.forward","F32",{"key":58,"value":59},"backend.dispatch","PerStage",{"key":61,"value":62},"backend.radix_scan","GpuHierarchical",{"key":64,"value":65},"backend.radix_scatter","SimdBallot",{"key":67,"value":68},"backend.binning","Resident",{"key":70,"value":71},"backend.tile_sort","GlobalRadix",{"key":73,"value":74},"backend.submission","Chained",{"key":76,"value":77},"backend.target_cache","true",{"key":79,"value":77},"backend.shader_fast_math",{"key":81,"value":82},"os_build","26.6.2 (25G83)",{"key":84,"value":85},"backend.ssim_clear","HostMemset",{"key":87,"value":85},"backend.raster_grad_clear",{"key":89,"value":90},"backend.backward_uniform","HostBuffer",{"key":92,"value":93},"backend.lazy_c3_scratch","false",{"key":95,"value":96},"backend.ssim_walk","PerChannel",{"psnr":98,"wallclock":99,"wallclock_regress":100,"splats":101,"final_loss":102},36.203880310058594,"2m 7s",false,408172,"5.446076e-3",{"loss":104,"splats":135},{"iters":105,"values":120},[106,107,108,109,110,111,112,113,114,115,116,117,118,119],1,1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,11000,12000,12500,[121,122,123,124,125,126,127,128,129,130,131,132,133,134],0.5938453674316406,0.05483636260032654,0.013618730939924717,0.008176574483513832,0.007394523359835148,0.006577059626579285,0.006175262853503227,0.0058997864834964275,0.00582391582429409,0.0056371972896158695,0.0055718752555549145,0.005500468425452709,0.005404776893556118,0.005446076393127441,{"iters":136,"values":137},[106,107,108,109,110,111,112,113,114,115,116,117,118,119],[138,139,140,141,142,143,144,145,146,147,148,149,150,101],5207,8229,182521,297920,349897,375379,389748,397465,401784,404025,405110,406180,407411,{"has_renders":100,"has_splat":100},[153],{"id":12,"title":154,"date":8,"status":155,"polarity":156,"category":157,"axes":158,"tags":160,"task_code":168,"related_runs":169,"delta_psnr":177,"delta_wallclock":178,"rank":179,"verdict":180,"impact_summary":181,"detail_path":182},"M5a A6 SSIM float4 化 — stage1 (float4) は byte-exact 確認済み・PSNR riskゼロ、stage2 (float4_rcp) は 12.5k gate で PSNR guard 抵触・不採用","stable","negative","experiment",[106,159],3,[13,161,43,162,163,164,165,14,166,167,15],"seminar05-milestones","float4","reciprocal-sharing","fast-math","bit-exact","rejected","psnr-guard-fail","2026-09-seminar05-milestones M5a (A6 SSIM float4 化、3ch 単一 walk)",[170,171,172,173,5,174,175,176],"m5a-12500-off-r1 (contaminated, discarded, re-run once)","m5a-12500-on-r1 (contaminated, discarded, re-run once)","m5a-12500-off-r1 (redo, used)","m5a-12500-on-r1 (redo, used)","m5a-12500-on-r2","m5a-12500-off-r3","m5a-12500-on-r3","12.5k 同一 session 交互 A\u002FB n=3 (1 pair 再実行後): on **36.1327 dB** (36.156 \u002F 36.170 \u002F 36.072) vs off **36.2133 dB** (36.256 \u002F 36.204 \u002F 36.180) = **Δ -0.081 dB**。task 指定 guard (on mean ≥ off mean − 0.05 dB) に **fail** (-0.081 \u003C -0.05)。3 pair とも on\u003Coff で完全分離、方向一致。on-r3 (36.072 dB) は config header の絶対 guard 帯 [36.102, 36.302] の下限を割り込む唯一の値","12.5k full run 同一 session 交互 A\u002FB n=3 (r1 は汚染疑いで 1 回再実行): **off mean 126.954s (σ 1.264%) → on mean 126.884s (σ 4.314%) = Δ -0.055%**。有意閾値 max(2σ_off,1%) = 2.528%、実測 Δ はこれに遠く届かない **null 結果**。3 pair 個別 Δ は +3.62% (r1, redo) \u002F -2.24% (r2) \u002F -1.61% (r3) と符号が一致しない。σ 非対称比 3.41× (on>off) は p3-tier1-bit-exact の汚染署名域に近いが、r1 は既に 1 回再実行済みのため追加再実行はしていない (§4 参照、PSNR guard が既に不採用を決定づけているため追加の GPU 消費は不要と判断)","low","rejected-psnr-guard-float4rcp-null-wallclock-float4-standalone-untested","SSIM の walk 方式を選べる BackendConfig `[backend] ssim_walk` (`per_channel` default \u002F `float4` \u002F `float4_rcp`) を実装し、shader (`ssim_forward_float4`, `ssim_backward_rcp`) と Rust 配線 (`SsimEvaluator`, `Trainer`, `apply_backend_config`, result.toml item) を完結させた。\u003Cstrong>stage 1 (float4 化 forward) は K=7\u002FK=11 の単体 test + 本番規模 (407,267 splats) `splat bench --parity` の両方で byte-exact\u003C\u002Fstrong> — PSNR risk がゼロの再挑戦候補として残す。\u003Cstrong>stage 2 (逆数共有 backward) の REL_TOL は実測ベースで 2e-4 に確定\u003C\u002Fstrong> (K=7 max_rel=8.4519e-5 \u002F K=11 6.3679e-5、旧 2-divide 実装の 8.28e-5 とほぼ同水準 — fast math 近似逆数の精度floorが支配的で除算回数削減の理論的優位はほぼ観測できなかった)。3-way replay bench (`submission=per_kernel` で ssim label を分離) では float4_rcp の ssim label gpu_ms が per_channel 比 -20.8% (758.92→601.06ms\u002F600calls) と明確に縮小したが、\u003Cstrong>12.5k Lego 同一 session 交互 A\u002FB n=3 gate (「採用候補の最終形 = float4_rcp」を一括計測) では PSNR guard に抵触し不採用\u003C\u002Fstrong>: on mean 36.1327 dB (36.156\u002F36.170\u002F36.072) vs off mean 36.2133 dB (36.256\u002F36.204\u002F36.180)、Δ -0.081 dB は guard 閾値 -0.05 dB を超過、3 pair 全てで on\u003Coff の完全分離という系統的な質低下だった。wallclock は Δ -0.055% (off mean 126.954s → on mean 126.884s) で有意閾値 max(2σ_off,1%)=2.53% に届かず null。§5 で示す通り、ssim の budget share (11.80%、p3-kernel-share-post-s3) と isolated-label 効果 (-20.8%) から予測される wallclock 寄与は ~-2.5% で、この gate の解像度限界とほぼ同水準だった — milestone の期待 delta (-4〜6%) はこの意味で楽観的すぎた。config.rs \u002F ssim.rs の `SsimWalkKind::default()` は `PerChannel` のまま変更していない。","\u002Ffindings\u002Fp3-ssim-float4\u002F",1790227325060]