[{"data":1,"prerenderedAt":223},["ShallowReactive",2],{"run:c1v2-12500-off-prof":3,"run-findings:c1v2-12500-off-prof":153},{"run":4,"config":18,"metrics":98,"curve":104,"assets":152},{"id":5,"title":5,"subtitle":6,"eyebrow":7,"date":8,"workspace":9,"commit":10,"tags":11,"verdict":17},"c1v2-12500-off-prof","M7: per-kernel gpu_ms 再々計測 v2 (submission=per_kernel \u002F forward_submission=per_stage \u002F pipelining=off、M4 radix simd_ballot + A7 refine 3-pass 後の kernel)","Run summary · 2026-09-seminar05-milestones M7 (最終スタック確定 + msplat 等価再比較 + Pareto v3)","2026-08-30","splat","a446f2c",[12,13,14,15,16],"p3-kernel-share-post-s3","m7","gpu-gate","lego","v2","partial",[19,22,25,28,31,34,37,40,43,46,49,52,55,58,61,64,67,70,73,76,79,81,84,87,89,92,95],{"key":20,"value":21},"dataset","\u002FUsers\u002Fotkrickey\u002Fdev\u002F3dgs-workspace\u002Fdatasets\u002Fnerf_synthetic\u002Flego",{"key":23,"value":24},"gt_convention","Premultiplied",{"key":26,"value":27},"iterations","12,500",{"key":29,"value":30},"seed","42",{"key":32,"value":33},"capacity","1,000,000 splats",{"key":35,"value":36},"sh_degree","3",{"key":38,"value":39},"loss","L1Ssim",{"key":41,"value":42},"lambda","0.200",{"key":44,"value":45},"ssim","window=7 sigma=1",{"key":47,"value":48},"backend.backward","Simd",{"key":50,"value":51},"backend.loss_path","Gpu",{"key":53,"value":54},"backend.emit_pairs","Original",{"key":56,"value":57},"backend.forward","F32",{"key":59,"value":60},"backend.dispatch","PerStage",{"key":62,"value":63},"backend.radix_scan","GpuHierarchical",{"key":65,"value":66},"backend.radix_scatter","SimdBallot",{"key":68,"value":69},"backend.binning","Resident",{"key":71,"value":72},"backend.tile_sort","GlobalRadix",{"key":74,"value":75},"backend.submission","PerKernel",{"key":77,"value":78},"backend.target_cache","true",{"key":80,"value":78},"backend.shader_fast_math",{"key":82,"value":83},"os_build","26.6.2 (25G83)",{"key":85,"value":86},"backend.ssim_clear","HostMemset",{"key":88,"value":86},"backend.raster_grad_clear",{"key":90,"value":91},"backend.backward_uniform","HostBuffer",{"key":93,"value":94},"backend.lazy_c3_scratch","false",{"key":96,"value":97},"backend.ssim_walk","PerChannel",{"psnr":99,"wallclock":100,"wallclock_regress":101,"splats":102,"final_loss":103},36.20126724243164,"2m 54s",false,404652,"5.436636e-3",{"loss":105,"splats":136},{"iters":106,"values":121},[107,108,109,110,111,112,113,114,115,116,117,118,119,120],1,1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,11000,12000,12500,[122,123,124,125,126,127,128,129,130,131,132,133,134,135],0.5938446521759033,0.054445795714855194,0.013736044988036156,0.00834606308490038,0.007365071680396795,0.006584059447050095,0.006259721703827381,0.006052760407328606,0.005797894671559334,0.005781573709100485,0.005743005312979221,0.005584400147199631,0.00560932420194149,0.005436635576188564,{"iters":137,"values":138},[107,108,109,110,111,112,113,114,115,116,117,118,119,120],[139,140,141,142,143,144,145,146,147,148,149,150,151,102],5207,8222,182139,297089,348744,373635,387534,395162,399155,401008,401858,402702,403933,{"has_renders":101,"has_splat":101},[154,179,204],{"id":155,"title":156,"date":157,"status":158,"polarity":159,"category":160,"axes":161,"tags":163,"task_code":169,"related_runs":170,"delta_psnr":173,"delta_wallclock":174,"rank":175,"verdict":176,"impact_summary":177,"detail_path":178},"p3-kernel-share-drums","drums (998k splats @30k, in-window 749k @12.5k) per-kernel share 実測 — share 構造は Lego とほぼ不変 (backward_raster 40.09% vs 40.07%)、絶対 ms\u002Fiter 差は binary vintage (S4b+C2) で汚染","2026-08-31","stable","mixed","measurement",[107,162],3,[155,164,165,166,167,14,168],"multi-scene","drums","per-kernel-gpu-ms","kernel-share","binary-vintage-caveat","次フェーズ タスクリスト — 多 scene 検証 (drums per-kernel share)",[171,5,172],"c1-drums-12500-off-prof","c1v3-12500-off-prof","n\u002Fa (drums self-eval mean val PSNR 24.518 dB @12.5k — non-converged 途中経過、多 scene 退行チェックの正式値ではない。参照: multiscene-drums-30k baseline は 30k 収束時 27.217 dB)","drums: train elapsed 249.77s (n=1) \u002F Lego v2: 174.57s (n=1)。**両方とも production baseline とは比較しない** — submission=per_kernel\u002Fforward_submission=per_stage\u002Fpipelining=off の 3 重に非 production な測定専用 regime (busy% drums 68.3%、Lego v2 65.6%)。意味があるのは kernel 単体の gpu_ms とその share のみ","medium","share-structure-invariant-under-1.85x-splat-scale \u002F absolute-ms-comparison-contaminated-by-binary-vintage","Lego で判断された今日の最適化候補が drums (998k splats @30k、Lego の 2.5倍) でも同じ share 構造で有効かを判定した。drums 12.5k を Lego v2 と同一 regime (submission=per_kernel\u002Fforward_submission=per_stage\u002Fpipelining=off) で 1 run 実測した結果、\u003Cstrong>per-kernel share は Lego v2 とほぼ同一\u003C\u002Fstrong> (backward_raster 40.09% vs 40.07%、adam 15.52% vs 15.28%、rasterize 14.94% vs 14.13%、ssim 12.75% vs 13.12%、radix 11.37% vs 12.01% — 全 kernel で Δ≤1.5pt)。\u003Cstrong>splat 数が 1.85倍 (in-window 748,708 vs 404,652) 違っても share 順位・構造がほぼ動かない\u003C\u002Fstrong>という結果は、Lego で優先度付けした施策 (M3 系 backward・M4 radix・S4b ssim 等) の相対重要度が drums でも維持されることを示唆する。\u003Cstrong>ただし絶対 ms\u002Fiter の比較は binary vintage 差で汚染されている\u003C\u002Fstrong> — 比較対象の Lego v2 は commit a446f2c、drums は HEAD 3db33a8 で、間に S4b (ssim_reduce=gpu default flip) と C2 計装 (全 CB へ kernel timestamp 収集追加) が入っている。splat 数と無関係なはずの ssim_fwd_grad が 1.446倍 (1.202→1.738 ms\u002Fiter) 増えている一方、全 9 leaf kernel が揃って 1.17〜1.93倍という比較的均一な増加を示しており、これは\u003Cstrong>純粋な splat-count scaling では説明しにくく、binary vintage (S4b\u002FC2) 由来の系統的な底上げが乗っている可能性が高い\u003C\u002Fstrong>。よって「share の相対構造」は信頼できるが「ms\u002Fiter の絶対値・scaling 係数」は次ラウンドで Lego 側も HEAD で撮り直すまで確定できない。","\u002Ffindings\u002Fp3-kernel-share-drums\u002F",{"id":180,"title":181,"date":8,"status":158,"polarity":182,"category":183,"axes":184,"tags":185,"task_code":192,"related_runs":193,"delta_psnr":198,"delta_wallclock":199,"rank":200,"verdict":201,"impact_summary":202,"detail_path":203},"p3-final-stack","M7 最終スタック確定 — 12.5k 124.39s (独立 n=3)、msplat 等価 gap 0.927×→0.755×、throughput 1.135×負け→0.926× (msplat 側 avg splats 借用値 ±8% 未満なら逆転)","positive","experiment",[107,162],[13,186,187,188,189,190,15,14,191],"seminar05-milestones","final-stack","msplat-parity","pareto-v3","throughput-parity","independent-remeasurement","2026-09-seminar05-milestones M7 (最終スタック確定 + msplat 等価再比較 + Pareto v3)",[194,195,196,197,5],"final-12500-r1","final-12500-r2","final-12500-r3","final-12500-r4","12.5k self-eval (r2-r4 n=3 mean): **36.219 dB** (σ 0.046%)、baseline guard 36.202±0.1dB 内。brush cross-eval q8 (r2-r4 mean): **36.249 dB** (msplat 30K 保守値 34.243 比 **+2.006dB**、旧 +1.97dB とほぼ不変)。white cross-eval (r2-r4 mean): **35.147 dB** (msplat 30K cross-eval 最小 36.252 比 **-1.105dB**、旧 -1.10dB とほぼ不変)","12.5k train elapsed 独立 n=3 (r2\u002Fr3\u002Fr4、clean set): **124.393s (σ 0.756%)**。A7 gate on-arm mean (124.807s) を **-0.33%** で再現。msplat 等価 gap (block1 n=2 分母 164.69s): **0.755×** (旧 0.927×)。per-splat·iter throughput: 本実装 **30.94ns** vs msplat 33.4ns = **0.926×** (旧 1.135×負けから逆転)","high","final-stack-confirmed-msplat-gap-0.755x-throughput-parity-crossed-pending-msplat-avg-splats-recheck","2026-09-seminar05-milestones M7 を実施した。(1) **12.5k full run 独立 n=3**: `2026-08-30-final-12500-r{1,2,3}.toml` を単純 3 repeat (off arm なし、全 [backend] flag は default 任せ = M4 radix_scatter=SimdBallot + A7 refine_scratch_persist\u002Frefine_direct_write=true 込み) で実行。r1 (131.84s) が r2\u002Fr3\u002Fr4 (123.34\u002F124.69\u002F125.15s) から外れて見えたため、advisor レビューを経て診断用の r4 を追加実行した結果、**r1 は script 再起動時に load sampler window ログが truncate され窓内記録が皆無**という house 規約 (p2-msplat-parity-final §7「事前 gate だけでは不十分、窓内記録が必須」) 上の欠陥を抱えていたことが判明し、r2\u002Fr3\u002Fr4 (全 run とも window 記録あり、load 正常) を正式な n=3 として採用した。**mean 124.393s (σ 0.756%)** — A7 gate on-arm mean 124.807s を -0.33% で独立再現しており、この近さ自体が両 session の健全性証拠になる。r1 込みの参考値 (n=3 リテラル\u002Fn=4 全部) も §1 に残す。(2) **per-kernel share v2**: `2026-08-30-c1v2-12500-off-prof.toml` (submission=per_kernel\u002Fforward_submission=per_stage\u002Fpipelining=off、M4\u002FA7 default 込み) を 1 run。leaf gpu_ms 合計 114.508s は busy union と exact 一致。radix share 26.40%→12.01% (絶対 -63.25%、M4 gate の per_stage 補助計測 -63.7% と独立一致)、backward_raster が単独最大ブロックとしてさらに優位 (33.86%→40.07%)。詳細は `p3-kernel-share-post-s3.toml` §6 に追記。(3) **累計 ablation**: p2 の 8 段 (Phase0 766.07s → S3 151.70s) に M4 (127.53s、-14.9%) \u002F A7 (124.81s、-2.15%) \u002F M7 独立再計測 (124.39s、-0.33%、ほぼ noise level) を継ぎ足し、Phase 0 比 **-83.76%**。(4) **msplat 等価再比較**: p2-msplat-parity-final の計算手順を最終値で再計算。gap 分母は継続性のため block1 n=2 mean (164.69s) を維持 (msplat 側は再実行していない)。**wallclock gap 0.927×→0.755×**。throughput は avg splats を新 4 run の trapezoid 積分から自前算出 (321,637、旧値 322k とほぼ一致し手法の妥当性を裏づける) して **1.135×負け→0.926×勝ち** (ただし msplat 側 avg splats ~165k は p2 からの借用値で本 session では再導出できておらず、逆転が成立するのはこの借用値の誤差が +8.0% 未満の場合に限る、§4 callout 参照)。brush\u002Fwhite PSNR は既存 final.ply に対し `splat eval` を回して再計測し (新規 GPU 学習 run は不要)、両 convention とも旧値からほぼ不変 (brush +2.01dB \u002F white -1.11dB) — M4\u002FA7 は PSNR trajectory に理論上影響しない施策なので想定どおり。matched-iteration (30K vs 30K) \u002F matched-wallclock (旧 13.3k 点) \u002F matched-PSNR(brush) の旧 6.0k 点 \u002F energy は**新規 GPU run が必要なため本 session では再計測せず**、旧スタック値を明示ラベルで carry forward するに留めた (外挿スケーリングによる偽の精度を避ける、advisor レビュー指摘)。(5) **Pareto v3**: `make_msplat_pareto.py` の入力を msplat 等価比較 4 点 Pareto curve (p2-msplat-parity-final §10 の未実施項目) に更新し `docs\u002Ffigures\u002Fpareto-v3-msplat-lego-final-stack.png` を生成。12.5k 点のみ最終スタック値、他 3 点 (6.0k\u002F13.3k\u002F30k) と msplat は旧スタック値のまま明示ラベル。","\u002Ffindings\u002Fp3-final-stack\u002F",{"id":12,"title":205,"date":8,"status":158,"polarity":159,"category":160,"axes":206,"tags":207,"task_code":215,"related_runs":216,"delta_psnr":218,"delta_wallclock":219,"rank":200,"verdict":220,"impact_summary":221,"detail_path":222},"M1\u002Fv2 — post-S2\u002FS3 per-kernel share 再計測: backward_raster 33.9%→40.1% (M4\u002FA7 後)、radix 26.4%→12.0% (M4 の絶対削減を反映) → M3 GO 判定は不変。C2 残差 4.54s は driver latency \u002F CB gap に分解不能 (計装欠如、file:line 提案のみ)",[107,162],[208,13,186,167,166,209,210,211,212,15,213,16,214],"m1","backward-raster","m3-go-gate","residual-bubble","gputime","post-s2-s3","post-m4-a7","2026-09-seminar05-milestones M1 (C1 per-kernel 再計測 + C2 残差 bubble 帰属)",[217,5],"c1-12500-off-prof","n=1: 36.087 dB (self-eval val mean, 100 views)。p2-s3 の off\u002Fdepth2 n=3 mean (36.185 \u002F 36.202 dB) の guard 内。本 run は submission=per_kernel\u002Fforward_submission=per_stage という別 regime なので PSNR の直接比較は非対象 (kernel は bit-exact のため理論上は同水準になるはず、というだけの参考値)","train elapsed 205.78s (n=1)。**production baseline (depth2 default, 151.70s) や S3 off baseline (185.21s) と直接比較しない** — per_kernel\u002Fper_stage submission は CB 数が既定の 15〜27\u002Fiter → 15 CB\u002Fiter 超 (最終 15,001 cb from iter1 window 相当) に増え、busy% が 68.9% まで下がる**測定専用 regime**であり、本 run の wallclock 自体に意味はない。意味があるのは kernel 単体の gpu_ms とその share のみ","m3-go-backward-raster-33.9pct \u002F c2-instrumentation-gap-proposal-only","M3 (per-splat backward, brush PR #401 型) の GO\u002FNO-GO 閾値「backward_raster share ≥ 25%」を判定した。post-S2\u002FS3 kernel (hierarchical radix scan \u002F resident binning) を submission=per_kernel\u002Fforward_submission=per_stage\u002Fpipelining=off (per-kernel breakdown が測れる唯一の regime) で 1 run 実測した結果 \u003Cstrong>backward_raster (+project_back 統合) share 33.86%\u003C\u002Fstrong> で \u003Cstrong>閾値を大きく超過 → M3 は GO\u003C\u002Fstrong>。\u003Cstrong>share × 0.25 (brush の -25% 主張をそのまま適用したナイーブな期待値) = 8.47%\u003C\u002Fstrong>。ただしこれは本 run の GPU busy (68.9%、production の 91.3% とは別 regime) に対する share であり、production (depth2 default) の wallclock に対する期待 Δ は \u003Cstrong>33.86% × 91.3% × 0.25 ≈ 7.7%\u003C\u002Fstrong> とみるほうが妥当 (kernel 自体の gpu_ms は submission wrapping にほぼ不変という counter-session の事後検証はあるが、n=1 点推定であることと合わせて上限値として扱う)。\u003Cstrong>pre-S2\u002FS3 (counter-session) との比較では share 構成はほぼ不変\u003C\u002Fstrong> (backward_raster 33.6%→33.86%、radix 26.3%→26.40%、rasterize 11.9%→11.64%、adam 13.8%→12.68%、ssim 10.0%→10.95%) — S2 のhierarchical scan は「radix の CB\u002Fwait 数」を畳んだだけで kernel 自体の GPU 時間配分は変えていない、という roadmap の当初の想定を実測で裏づけた。C2 は M0 の並行会計訂正 (encode(B) 4.66→3.41s、残差 3.28→4.54s、nested label 二重計上の是正) を踏まえ、\u003Cstrong>残差 4.54s (depth2 sync-tax の 32%) を driver 投入 latency と CB 間 gap に分解しようとしたが、既存計装 (`gputime.rs`) は `kernelStartTime`\u002F`kernelEndTime` を objc bind しているのみで収集しておらず、per-CB の生 interval 列も外部に露出していない\u003C\u002Fstrong> ため\u003Cstrong>分解不能\u003C\u002Fstrong>と判明した。file:line 付きの追加案を §C2 に残す (実装はしていない、GPU run はこれ以上起動していない)。","\u002Ffindings\u002Fp3-kernel-share-post-s3\u002F",1790227323336]