[{"data":1,"prerenderedAt":796},["ShallowReactive",2],{"finding:final-ablation-table":3,"finding-runs:final-ablation-table":612,"finding-related:final-ablation-table":671},{"meta":4,"impact":51,"sections":58},{"id":5,"title":6,"subtitle":7,"eyebrow":8,"date":9,"status":10,"category":11,"polarity":12,"axes":13,"tags":17,"task_code":27,"related_runs":28,"related_findings":46},"final-ablation-table","A.5 Final Ablation Table — brush vs 自作 + パラメータ ablation","卒論の central table。M-3.x baseline (自作 splat trainer) を起点に、SH degree \u002F MCMC \u002F multi-scene \u002F 三層 (M4 自作・brush wgpu→Metal\u002FVulkan・CUDA orig\u002Fgsplat) の効果を一覧化。第 1〜3 軸すべての主張を data point で支える。","Central table · 卒論 §A.5","2026-05-22","draft","tables","mixed",[14,15,16],1,2,3,[18,19,20,21,22,23,24,25,26],"phase-5","ablation","table","sh-degree","mcmc","multi-scene","brush","cuda","resolution-scaling","A.5",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],"lego-sh0-30k","lego-sh1-30k","lego-sh2-30k","lego-sh3-30k","lego-mcmc-30k","lego-res200-30k","lego-res400-30k","lego-res800-30k","chair-sh3-30k","ficus-sh3-30k","drums-sh3-30k","hotdog-sh3-30k","m4-brush-bench","c32-brush-bench","c32-orig3dgs-bench","c32-gsplat-smoke","phase5-step31-x-30k",[47,41,43,44,48,49,50],"a-4-nerf-synthetic-scene-results","a-10-kahan-negative","mcmc-3-defects","mcmc-noise-calibration",{"summary":52,"rank":53,"verdict":54,"delta_psnr":55,"delta_wallclock":56,"delta_splats":57},"三層対比 (自作 M4 \u002F brush V100 \u002F CUDA V100) で wgpu→Vulkan が 37.46 dB \u002F 8m24s と CUDA orig (28.4) \u002F gsplat (32.9) より高 PSNR + 高速、自作 24.84 \u002F 23m40s に対し brush wgpu→Metal が 37.40 \u002F 9m08s。「wgpu 抽象は重い」の素朴予想が 2 機種で逆転し、第 2 軸の主張を『抽象コスト \u003C 実装最適化レベル』に再 framing 必須。","high","partial","-12.6 dB (自作 24.84 vs brush 37.46)","brush は自作の 0.39× (= 2.59x 速い、同 M4 Max)","82k → 1M (MCMC capacity) \u002F 284k (brush)",[59,62,73,76,151,153,222,224,286,291,295,297,406,408,436,438,446,448,450,472,474,484,487,489,494,496,559,561,565,567,573,575,577,579,581,585,587,592,594,604,606],{"type":60,"text":61},"lead","卒論の central table。M-3.x baseline (自作 splat trainer 24.879 dB \u002F 23m13s \u002F 83,734 splats sh3-30k re-run、variance σ ±0.32 dB) を起点に、SH degree (0\u002F1\u002F2\u002F3) \u002F MCMC \u002F multi-scene (NeRF Synthetic 8 シーン complete) \u002F Apple Silicon vs CUDA の三層対比 \u002F Apple 固有最適化 (A.7\u002FA.9\u002FA.10) \u002F iter & capacity scaling (E.5\u002FE.6) を 1 つの表系列に統合する。\u003Cstrong>第 1 軸 (品質)\u003C\u002Fstrong>: brush 37.46 > gsplat 32.94 > orig 3DGS 28.38 > 自作 24.88、シーン依存性 17.6 dB の幅 (ficus 13.96 〜 hotdog 30.29、8 シーン mean 18.95 ± 6.0)。\u003Cstrong>第 2 軸 (wgpu 抽象コスト)\u003C\u002Fstrong>: 2 機種で wgpu \u003C native という想定逆転、Chapter 4.2 のフレーミング書き換え必須。\u003Cstrong>第 3 軸 (Apple 固有最適化)\u003C\u002Fstrong>: A.7 batched cmd buffer multi-scene で chair -18.6% \u002F lego -6.16% \u002F ficus -1.6% と scene-dependent、A.9 f16 forward -10 dB \u002F +75% 二重 negative、A.10 Kahan bit-identical で variance σ ±0.32 dB が GPU 非決定性由来確定 (1 positive scene-dependent \u002F 2 negative \u002F 1 documented A.6 \u002F 1 別 branch StopThePop)。\u003Cstrong>モバイル含意\u003C\u002Fstrong>: E.6 capacity 50-100k で 1M と同等品質 + E.5 iter 10k で 96.7% 達成、deployment 容易な data point 確定。",{"type":63,"items":64},"kv",[65,68,70],{"key":66,"value":67},"目的","卒論の central table。M-3.x baseline を起点に SH degree \u002F MCMC \u002F 他シーンの効果を一覧する",{"key":69,"value":9},"起草",{"key":71,"value":72},"最終更新","2026-05-22 23:00 JST (A.8 sh=0\u002F1 完了、sh=2\u002F3 走行中)",{"type":74,"text":75},"heading","Multi-scene (NeRF Synthetic 8 シーン complete、2026-05-24) — A.4 legacy convention 旧数字",{"type":20,"columns":77,"align":84,"rows":87,"caption":150},[78,79,80,81,82,83],"scene","PSNR (dB)","wallclock","ΔPSNR vs lego","brush paper","gap to brush",[85,86,86,86,86,86],"left","right",[88,95,102,108,115,122,129,136,143],[89,90,91,92,93,94],"**lego (ref)**","**24.879**","23m13s","(baseline)","35.78","-10.9",[96,97,98,99,100,101],"chair","22.883","22m54s","-2.00","35.83","-12.9",[103,104,98,105,106,107],"**ficus**","**13.959**","**-10.92**","34.87","**-20.9** (gap 最大)",[109,110,111,112,113,114],"drums","17.773","21m27s","-7.11","26.15","-8.4 (gap 最小)",[116,117,118,119,120,121],"**hotdog**","**30.290**","23m52s","**+5.41**","37.72","-7.4",[123,124,125,126,127,128],"mic","15.031","22m13s","-9.85","35.36","-20.3",[130,131,132,133,134,135],"**materials**","**12.709**","**28m28s**","**-12.17**","30.00","-17.3",[137,138,139,140,141,142],"ship","15.038","23m58s","-9.84","30.94","-15.9",[144,145,146,147,148,149],"**mean**","**18.95**","**23m23s**","**-5.93**","**33.32**","**-14.4** (std ±6.0)","**この A.4 数字は legacy convention (white-bg target) で誤評価**。P1.A.3 cross-eval reproducer で symmetric coupling 発見、brush convention で再評価が必要。下記 Multi-scene Phase D 表を参照。",{"type":74,"text":152},"Multi-scene Phase D (brushcompat + opacity_decay 30k、2026-05-25) — M5 完全達成 + brush 超え",{"type":20,"columns":154,"align":158,"rows":159,"caption":221},[78,79,80,155,82,156,157],"splats","Δ vs brush","Δ vs A.4 legacy",[85,86,86,86,86,86,86],[160,168,174,181,187,194,200,207,213],[161,162,163,164,165,166,167],"**lego (val)**","**36.106**","41m54s","375,146","32.04 (val)","**+4.07** ★","+11.23",[96,169,170,171,100,172,173],"35.813","59m10s","800,645","-0.02","+12.93",[175,176,177,178,106,179,180],"ficus","34.220","**21m43s**","**203,412**","-0.65","**+20.26**",[109,182,183,184,113,185,186],"27.198","62m","868,304","**+1.05** ★","+9.43",[188,189,190,191,120,192,193],"hotdog","37.335","23m44s","206,620","-0.39","+7.04",[123,195,196,197,127,198,199],"36.375","32m15s","329,110","**+1.02** ★","**+21.34**",[201,202,203,204,134,205,206],"materials","29.904","27m33s","266,018","-0.10","+17.20",[137,208,209,210,141,211,212],"30.926","36m16s","373,681","-0.01","+15.89",[214,215,216,217,218,219,220],"**mean (8 scene)**","**33.49**","**(合計 5h 5m)**","**428k**","**32.86**","**+0.63** ★","**+14.54**","**Phase D re-chain 全 8 scene 完遂、M5 完全達成 + brush 超え**: mean 33.49 dB > brush 32.86 (+0.63 dB)、brush 超え 3 scene (★)、A.4 legacy convention 比 mean +14.54 dB 改善 (誤評価解消 + Phase D 効果)。全 scene で baseline brushcompat 30k 比 PSNR + splats + wallclock の universal win-win-win。詳細 \u003Ccode>p1-d-multi-scene-rechain\u003C\u002Fcode>。",{"type":74,"text":223},"Phase G.3 SH-progressive 30k (Phase D + sh_progressive、2026-05-26) — Pareto extension",{"type":20,"columns":225,"align":227,"rows":228,"caption":285},[78,79,226,80,155,82,156],"Δ vs Phase D",[85,86,86,86,86,86,86],[229,236,242,248,254,260,267,273,279],[230,231,232,233,234,165,235],"lego","**36.384**","+0.278 ✓","41m07s","487,741","**+4.34** ★",[96,237,238,239,240,100,241],"35.952","+0.142 ✓","1h15m42s","1,148,667","+0.12 ★",[175,243,244,245,246,106,247],"34.281","+0.061 ✓","21m40s","226,749","-0.59",[109,249,250,251,252,113,253],"27.217","+0.017 ≈","1h05m36s","1,001,014","**+1.07** ★",[188,255,256,257,258,120,259],"37.374","+0.044 ✓","28m17s","310,045","-0.35",[261,262,263,264,265,127,266],"**mic**","**36.624**","**+0.244 ✓**","33m29s","391,373","**+1.26** ★",[201,268,269,270,271,134,272],"30.025","+0.125 ✓","30m46s","349,784","**+0.02** ★",[137,274,275,276,277,141,278],"30.877","-0.053 ≈","39m46s","495,160","-0.06",[214,280,281,282,283,218,284],"**33.592**","**+0.107** ✓","**(合計 5h 36m)**","**551k**","**+0.732** ★","**Phase G.3 alone 30k = universal quality improvement on Pareto axis**: Phase D 比 mean **+0.107 dB** (7\u002F8 scene 改善、mic +0.244 dB が最大改善、stacked では -6.05 dB だったので G.3 alone での rescue が顕著)、brush 比 +0.732 dB に拡大 (P1.M5 の +0.625 から)、wallclock +10.2% cost。brush 超え scene が 3 → **5** に拡大 (Lego\u002Fchair\u002Fdrums\u002Fmic\u002Fmaterials)。詳細 \u003Ccode>p1-axis1-phase-g-pareto-landscape\u003C\u002Fcode> + \u003Ccode>p1-axis1-phase-g3-sh-progressive\u003C\u002Fcode>。",{"type":287,"label":288,"variant":289,"text":290},"callout","M5 final 達成 (2026-05-25)","success","\u003Cstrong>本実装 (splat-rs Phase D) が brush の multi-scene mean を decisive に超えた\u003C\u002Fstrong>: 8 scene mean 33.49 dB vs brush 32.86 dB = \u003Cstrong>+0.63 dB 上回り\u003C\u002Fstrong>、卒論 central evaluation table 主張確定。A.4 旧 18.95 dB は legacy convention の誤評価 (P1.A.3 で symmetric coupling 発見、convention 統一 + Phase D で +14.54 dB 改善)。詳細 \u003Ccode>p1-d-multi-scene-rechain\u003C\u002Fcode> + \u003Ccode>p1-a-3-cross-eval-reproducer\u003C\u002Fcode>。",{"type":287,"label":292,"variant":293,"text":294},"核心 finding (2026-05-24 8 シーン complete)","warn","同 trainer + 同 config (sh=3, capacity=1M, seed=42, 30k iter) で \u003Cstrong>シーン依存性 17.6 dB の幅\u003C\u002Fstrong> (materials 12.71 〜 hotdog 30.29)、mean 18.95 ± 6.0 dB。\u003Cstrong>hotdog のみが lego を上回り (+5.41)、他 7 シーン全て lego を下回る\u003C\u002Fstrong> → 本実装は「lego\u002Fhotdog に over-fit した refine schedule」の疑い。brush 比 multi-scene gap -14.4 dB (lego 単独 -10.9 より 3.5 dB 悪い)。「単一シーンの数字で trainer 能力を評価」は危険、卒論 evaluation で mean ± std 必須。詳細 \u003Ccode>a-4-nerf-synthetic-scene-results\u003C\u002Fcode>。",{"type":74,"text":296},"メイン表 — Lego (NeRF Synthetic)",{"type":20,"columns":298,"align":303,"rows":304},[299,300,301,79,80,155,302],"Method","SH","iter","Notes",[85,86,86,86,86,86,85],[305,313,319,325,332,339,346,351,357,362,369,374,378,382,388,394,400],[306,307,308,309,310,311,312],"brush ref (3dgs-rs 旧 M-3.x)","3","30k","25.140","21m37s","79,654","phase5-step31-x-30k (3dgs-rs\u002Fruns\u002F)",[314,307,308,315,316,317,318],"自作 (M-3.x migration-gate)","24.842","23m40s","79,239","gate band [24.4, 25.6] pass、splat workspace の baseline",[320,307,308,321,322,323,324],"自作 + MCMC fix2 (paper § 全部入り、calibration 補正)","17.384","(1h10m†)","1,000,000 (cap)","2026-05-23 完走、reorder + opacity_l1=0 で crash 回避。baseline -7.46 dB、Negative finding",[326,327,308,328,329,330,331],"自作 SH=0 ablation","0","16.50","26m47s","40,288","DC only、view-dependence なし → -8.34 dB",[333,334,308,335,336,337,338],"自作 SH=1 ablation","1","19.07","22m38s","64,139","first-order SH のみ → -5.78 dB",[340,341,308,342,343,344,345],"自作 SH=2 ablation","2","23.63","22m37s","70,155","second-order SH → -1.22 dB vs sh=3",[347,307,308,348,91,349,350],"自作 SH=3 baseline (re-run)","24.879","83,734","new trainer + B.1 RunSummary 統合の再現性 OK (+0.037 dB vs migration-gate)",[352,307,308,353,354,355,356],"**自作 brushcompat (gt_convention=premultiplied)**","**35.184**","1h02m","846,689","2026-05-24 P1.B+F Stage 2、brush convention 計測 (val 100 view)、brush 自身 val 32.038 を **+3.20 dB 上回り**、M3 lifeline (30 dB) +5.24 dB 突破 ★",[358,307,308,359,360,355,361],"**自作 brushcompat × test subset (n=36)**","**33.315**","(eval-only)","2026-05-24 P1 test split eval、brush paper test (37.40 200 view) と -4.09 dB gap (subset bias ±2 dB 残)、val→test 劣化 -1.92 dB = novel-view generalization gap",[363,307,364,365,366,367,368],"自作 brushcompat + opacity decay (5k smoke)","5k","31.689","2m34s","83,093","2026-05-24 P1.D Stage 1、baseline 5k 31.334 → +0.37 dB \u002F splats -11.6% win-win、30k full bench は chain 完了後 schedule",[370,307,308,162,371,372,373],"**自作 brushcompat + opacity decay (30k Stage 2)** ★★","**41m54s**","**375,146**","2026-05-25 P1.D Stage 2、baseline 30k 比 PSNR +0.92 \u002F splats -55.6% \u002F wallclock -32% **全項目勝利**、M5 Lego val gate (>36 dB) 達成 ★ brush 自身 val +4.07 dB 上回り、test subset n=36 で 34.065 dB (Stage 2 +0.75)、brush paper 37.40 gap -3.34 dB に縮小",[375,307,308,376,360,164,377],"自作 brushcompat + opacity decay × test subset (n=36)","**34.065**","2026-05-25 Phase D test subset、Stage 2 (33.315) +0.75 dB、val (36.106) → test 劣化 -2.10 dB (subset bias 内)",[379,307,308,380,380,380,381],"自作 + MCMC (実装後)","TBD","A.2 part 2 完了後 (docs\u002Ffindings\u002Fmcmc-3-defects.md)",[383,307,308,384,385,386,387],"brush wgpu→Vulkan (c32 V100)","37.460","8m24s","~260k+","2026-05-23 完了、brush internal eval、SSIM 0.986。3DGS 原著級の品質",[389,307,308,390,391,392,393],"brush wgpu→Metal (M4 Max)","37.397","9m08s","~284k+","2026-05-23 完了、SSIM 0.986。同 M4 Max で自作 (24.842 \u002F 23m40s) との直接対比",[395,307,308,396,397,398,399],"CUDA 原著 3DGS (c32 V100)","28.384","10m37s","237,920","2026-05-23 完了 (c32-orig3dgs-bench.md)、val split eval、α-mask render vs raw gt convention。paper-std white-bg eval だと 14.6 dB に下がる (off-object floater)、§6 参照",[401,307,308,402,403,404,405],"CUDA gsplat (c32 V100)","32.940","5m03s","108,704","2026-05-23 完了 (c32-gsplat-smoke.md)、val split eval",{"type":74,"text":407},"第 1 軸 (Apple Silicon native vs CUDA reference) — 三層対比完成 (2026-05-23)",{"type":20,"columns":409,"align":415,"rows":416},[410,411,412,413,414],"","自作 (M4 Max)","brush wgpu→Vulkan (V100)","CUDA orig 3DGS (V100)","CUDA gsplat (V100)",[85,86,86,86,86],[417,418,419,421,425,431],[79,315,384,396,402],[80,316,385,397,403],[420,317,386,398,404],"final splats",[422,423,424,424,424],"GPU (TDP)","M4 Max (~40W)","V100 (250W)",[426,427,428,429,430],"抽象レイヤ","native Metal","wgpu→Vulkan","CUDA native (paper)","CUDA native (PyTorch ext)",[432,433,434,435,433],"eval convention","val 100 white-bg","brush internal","α-mask render vs raw gt",{"type":74,"level":16,"text":437},"核心 finding (2026-05-23 三層対比完成版)",{"type":439,"ordered":440,"items":441},"list",true,[442,443,444,445],"\u003Cstrong>PSNR 順序: brush (37.46) &gt; gsplat (32.94) &gt; orig 3DGS (28.38) &gt; 自作 (24.84)\u003C\u002Fstrong> — 抽象レイヤの薄さと品質は \u003Cstrong>逆相関\u003C\u002Fstrong>。CUDA native (paper) よりも wgpu (brush) の方が +9.1 dB 高い。原因は trainer recipe (densification、refine schedule、capacity、\u003Cstrong>eval convention の整合性\u003C\u002Fstrong>) の差で、抽象コストは completely overshadowed。","\u003Cstrong>wallclock 順序: gsplat (5m03) &lt; brush (8m24) &lt; orig 3DGS (10m37) &lt; 自作 (23m40)\u003C\u002Fstrong> — wgpu (brush) は CUDA native (orig 3DGS) より \u003Cstrong>約 21% 速い\u003C\u002Fstrong> (\u003Ccode>m4-brush-bench.md\u003C\u002Fcode> の M4 Max 観察と同方向)。即ち V100 でも「\u003Cstrong>抽象コスト ≪ 実装最適化レベル\u003C\u002Fstrong>」が成立、卒研 Chapter 4.2 のフレーミング (\"wgpu 抽象は重い\") を完全否定する direction で 2 機種一致。","\u003Cstrong>orig 3DGS の eval convention 依存\u003C\u002Fstrong>: 同 30k checkpoint を 4 通り eval すると \u003Cstrong>2.5 dB (broken upstream) \u002F 14.6 dB (paper-std white-bg) \u002F 28.4 dB (codebase-internal、α-mask render vs raw gt)\u003C\u002Fstrong> と 26 dB の幅で振れる。本表は codebase-internal (28.4) を採用するが、\u003Cstrong>3 層対比の絶対値比較は eval convention を揃えない限り正しくない\u003C\u002Fstrong>。詳細 \u003Ccode>c32-orig3dgs-bench.md\u003C\u002Fcode> §6。","\u003Cstrong>自作 (24.84) と brush (37.46) の 12.6 dB gap が依然支配的\u003C\u002Fstrong> — 本研究の \u003Cstrong>trainer recipe\u003C\u002Fstrong> が brush に届かない。第 2 軸の純粋抽象コスト測定は本実装が brush 水準に到達した後でないと不可。",{"type":74,"text":447},"第 2 軸 (wgpu 抽象コスト) — 2026-05-23 大幅更新",{"type":74,"level":16,"text":449},"M4 Max での 直接対比 (同 GPU 上で wgpu→Metal vs native Metal)",{"type":20,"columns":451,"align":455,"rows":456},[410,452,453,454],"brush wgpu→Metal","自作 native Metal","比率",[85,86,86,85],[457,459,464,466,469],[79,390,315,458],"brush +12.6 dB",[460,461,462,463],"SSIM","0.986","(TBD 取得要)","—",[80,391,316,465],"brush は自作の 0.39x (= 2.59x 速い)",[420,467,317,468],"~284,323","brush 3.6× の densify",[470,423,423,471],"GPU TDP","同一",{"type":74,"level":16,"text":473},"V100 での wgpu→Vulkan vs CUDA native (第 2 軸の本筋対比、完成)",{"type":20,"columns":475,"align":479,"rows":480},[410,476,477,478],"brush wgpu→Vulkan","orig 3DGS CUDA (paper)","gsplat CUDA (PyTorch ext)",[85,86,86,86],[481,482,483],[79,384,396,402],[80,385,397,403],[420,386,398,404],{"type":485,"text":486},"paragraph","\u003Cstrong>V100 同居 wallclock の意味\u003C\u002Fstrong>: orig 3DGS (CUDA native、paper baseline) と brush (wgpu→Vulkan) は \u003Cstrong>同 V100 GPU・同 30k iter・同 NeRF Synthetic Lego\u003C\u002Fstrong> で動かしたので、\u003Cstrong>wallclock の差 = wgpu 抽象オーバーヘッド + trainer 実装差\u003C\u002Fstrong>という解釈になる。実測では brush が orig より 21% 速い。即ち抽象コストは正でなく、本実装の最適化レベル不足が主因。M4 Max 上の brush vs 自作の対比 (2.59x 速い) と方向性一致、抽象コスト ≪ 実装最適化レベル のテーゼが 2 機種で確認された。",{"type":74,"level":16,"text":488},"核心 finding (2026-05-23 確定)",{"type":439,"ordered":440,"items":490},[491,492,493],"\u003Cstrong>wgpu→Metal は native Metal より遅くなかった、むしろ本実装より 2.6× 速い\u003C\u002Fstrong> — 「wgpu 抽象は遅い」という素朴予想を \u003Cstrong>反証\u003C\u002Fstrong>。本実装の trainer (自作) が brush の trainer recipe より immature だったため、wgpu のオーバーヘッドが実装最適化の差に \u003Cstrong>完全に埋没\u003C\u002Fstrong>。結論: 「wgpu 抽象コスト」を純粋に取りたければ \u003Cstrong>同 trainer recipe + wgpu vs native の対比\u003C\u002Fstrong>が必要。今 session のデータは「実装最適化レベル + 抽象」の合算で、純粋抽象コストは未確定。","\u003Cstrong>wgpu→Vulkan も CUDA native (gsplat) より高 PSNR (+4.5 dB)\u003C\u002Fstrong>、wallclock は CUDA が 1.67× 速い。これも実装差 (brush trainer vs gsplat simple_trainer) が支配的、抽象コスト純抽出は不可。","\u003Cstrong>卒論への影響\u003C\u002Fstrong>: 第 2 軸の主張を「wgpu 抽象は重い」から「\u003Cstrong>抽象コスト &lt; 実装最適化レベル\u003C\u002Fstrong>」に転換すべき (Negative finding として位置付け可)。Chapter 4.2 のフレーミング全面書き換えを検討。",{"type":74,"text":495},"第 3 軸 (Apple Silicon 固有最適化)",{"type":20,"columns":497,"align":502,"rows":503},[498,499,500,501],"optimization","wallclock 効果","PSNR 変化","採用",[85,86,86,85],[504,509,514,519,524,529,534,539,544,549,554],[505,506,507,508],"baseline M-3.x (sh3-30k)","0 (ref) variance ±2.4%","24.879 mean 24.834 ±0.32 dB","✓ sh3-30k 4-run variance baseline (a-10-variance-baseline)",[510,511,512,513],"#feat.G f16 packed splat (A.6)","~1% (kernel pair only)","invariant (test)","△ kernel + Rust glue cherry-pick 完了 (cargo test 73\u002F73 pass)、trainer integration 未着手で 30k bench 不可 (a-6-feat-g-packed-investigation)",[515,516,517,518],"#feat.F StopThePop emit_pairs","-10.2%","-0.07 dB","(A.5 評価外、未統合 branch)",[520,521,522,523],"A.1 SSIM タイルシェーダ (TBDR)","TBD (~3% 見込み)","invariant","△ render-pipeline 大改修で scope 過大 (a-1-ssim-tile-shader-investigation)",[525,526,527,528],"Kahan summation (A.10)","+14.6% (overhead 残)","0 (bit-identical)","✗ Negative finding: Metal compiler が compensator を最適化消去 (a-10-kahan-negative)",[530,531,532,533],"A.10 variance baseline (n=4)","wallclock σ ±2.4% range 5.2%","PSNR σ ±0.32 dB range 0.885 dB","✓ noise floor 確定: 原因は GPU 非決定性 (SIMD atomic 順序)、Kahan で消えない (a-10-variance-baseline)",[535,536,537,538],"f16 forward (A.9)","+75.1% (40m40s vs 23m13s)","-10.006 dB (14.873 vs 24.879)","✗ 二重 Negative: half3 underflow + cast overhead (a-9-f16-forward-negative)",[540,541,542,543],"A.7 batched cmd buffer (lego)","-6.16% (21m47s)","-0.302 dB (24.577) variance 内","✓ Mildly positive: commit ~3 個\u002Fiter 削減 (a-7-icb-batching-results)",[545,546,547,548],"A.7 × multi-scene (chair\u002Fficus\u002Fdrums\u002Fhotdog\u002Flego)","-1.6% 〜 -18.6% (mean -7.0%) scene 依存","+0.13 〜 -0.83 dB (hotdog drift 有意)","✓ scene-dependent: chair \u002F lego \u002F hotdog で wallclock 有意改善、drums \u002F ficus は variance 内 (a-7-multi-scene-batched)",[550,551,552,553],"E.5 iter scaling (10k \u002F 15k \u002F 20k \u002F 25k)","-70% \u002F -53% \u002F -37% \u002F -18%","-0.83 \u002F -0.90 \u002F -0.97 \u002F -0.21 dB","△ 10k で 96.7% 品質達成 (モバイル含意 strong)、ただし non-monotonic は kerbl_exp_decay max_steps 依存 artifact (e-5-iter-scaling)",[555,556,557,558],"E.6 capacity scaling (50k \u002F 100k \u002F 200k \u002F 500k)","-3〜-4% (capacity 小で僅か速い)","PSNR 全て variance band 内","✓ lego 本質的 splat 数 ~85k で plateau、capacity 50-100k で 1M と同等品質 (モバイル含意 strong claim) (e-6-capacity-scaling)",{"type":74,"text":560},"SH degree ablation サマリ (A.8、走行中)",{"type":562,"lang":563,"text":564},"code","text","SH=0:  16.50 dB  -8.38 dB vs sh=3 re-run  40,288 splats  26m47s\nSH=1:  19.07 dB  -5.81 dB vs sh=3 re-run  64,139 splats  22m38s\nSH=2:  23.63 dB  -1.25 dB vs sh=3 re-run  70,155 splats  22m37s\nSH=3:  24.879 dB (sh=3 re-run, full schema)             83,734 splats  23m13s\nref:   24.842 dB (migration-gate, 旧 result.toml)        79,239 splats  23m40s   ← +0.037 dB drift\n",{"type":74,"level":16,"text":566},"観察",{"type":439,"items":568},[569,570,571,572],"SH degree 1 つ上げる毎に PSNR \u003Ccode>+2.57 → +4.56 → +1.22\u003C\u002Fcode> dB → \u003Cstrong>degree 2 と 3 の差は急減\u003C\u002Fstrong>、収益逓減","splats 数も SH degree と単調増加、高 degree ほど refine 時に保持される","wallclock は SH=0 が若干遅い (26m47s vs 他 ~22m半)、SH 切り詰めで refine 挙動が変わるためか","\u003Cstrong>モバイル想定 take\u003C\u002Fstrong>: SH=2 で 95% の品質 (-1.22 dB) を 88% の splats (70k\u002F79k) で達成 → メモリ制約下では sh=2 が cost-effective",{"type":74,"text":574},"注釈",{"type":485,"text":576},"† MCMC fix2 30k の wallclock 1h10m は brush M4 30k と同一 GPU で並列実行したため約 3 倍に膨張。単独実行時の見積もりは ~25-28 min (capacity 1M densify による per-iter 計算量増加の影響もあり)。",{"type":74,"text":578},"Resolution scaling 中間結果 (A.12、走行中)",{"type":562,"lang":563,"text":580},"res 200:   23.901 dB   80,147 splats   23m41s   (sh=3、PSNR -0.98 dB vs 800px、ほぼ同 wallclock)\nres 400:   25.481 dB   83,177 splats   22m50s   (sh=3、PSNR +0.60 dB vs 800px、**sweet spot**)\nres 800:   24.964 dB   81,945 splats   22m38s   (A.12 独立 run、24.879 baseline と +0.085 dB variance band 内)\nref:       24.879 dB   83,734 splats   23m13s   (= A.8 sh=3 baseline、同条件)\n",{"type":287,"label":582,"variant":583,"text":584},"意外な発見","info","PSNR は解像度に対し非単調。400px &gt; 800px (+0.6 dB)、200px &lt; 800px (-0.98 dB)。仮説: (1) SSIM 信号密度: 小解像度では 1 pixel あたりの neighborhood 寄与が大きく、SSIM gradient が dense になる、(2) Aliasing: GT 自体が downsample 由来なので、render との一致が取りやすい、(3) ハイパパラのチューニング: refine threshold \u002F grad threshold が 400px に偶然 fit している。このため、卒論「モバイル向け解像度選択」では「200\u002F400\u002F800 px のうち最適は 400」と claim できる data point。",{"type":74,"level":16,"text":586},"観察 (中間)",{"type":439,"items":588},[589,590,591],"res 200 でも PSNR 23.9 dB (vs 800 の 24.88、わずか -0.98 dB ロス) — Lego の幾何が単純で低解像度でも 3DGS が学習しきれる","\u003Cstrong>wallclock がほぼ同 (~23m半)\u003C\u002Fstrong> — 我々の trainer は splat-bound (1M capacity) で pixel-bound ではない。resolution を下げても速度は上がらない","thesis 含意: モバイル推論で重要なのは training resolution ではなく \u003Cstrong>trained model size\u003C\u002Fstrong> (splats × bytes\u002Fsplat)",{"type":74,"text":593},"残課題 (本表を完成させるため)",{"type":439,"ordered":440,"items":595},[596,597,598,599,600,601,602,603],"\u003Cdel>A.8 sh=2 \u002F sh=3 再現 run 完了\u003C\u002Fdel> ✓ 全 4 段階完了 (16.50 \u002F 19.07 \u002F 23.63 \u002F 24.879 dB)","\u003Cdel>A.2 part 2 (MCMC 完全実装)\u003C\u002Fdel> ✓ 実装完遂、Negative finding として close (17.38 dB)","\u003Cdel>A.3 phase 2 (CUDA bench)\u003C\u002Fdel> ✓ 三層対比表完成 (V100 brush \u002F orig \u002F gsplat)","A.4 NeRF Synthetic 4 シーン展開 — chair-30k 進行中 (2026-05-23 05:16〜)、その後 ficus \u002F drums \u002F hotdog (~90 min)","✓ A.6 #feat.G f16 packed → kernel + glue cherry-pick 完了 (cargo test 73\u002F73)、trainer integration 未着手で 30k bench 不可、documented investigation (a-6-feat-g-packed-investigation)","✓ A.7 ICB simpler batching → 30k bench 完了 24.577 dB \u002F 21m47s \u002F -6.16% (a-7-icb-batching-results)、Mildly positive","✓ A.9 f16 forward → 30k bench 完了 14.873 dB \u002F 40m40s \u002F -10 dB \u002F +75%、Negative (a-9-f16-forward-negative)","brush ref re-validation — \u003Ccode>3dgs-rs\u002Fruns\u002F\u003C\u002Fcode> にある M-3.x 旧 run の再現確認 (現状 splat workspace 移行で seed drift の懸念)",{"type":74,"text":605},"参照",{"type":439,"items":607},[608,609,610,611],"個別 run summary: \u003Ccode>public\u002Fruns\u002Findex.html\u003C\u002Fcode>","MCMC spec: \u003Ccode>mcmc-3-defects.md\u003C\u002Fcode>","CUDA env: \u003Ccode>c33-cuda-setup-notes.md\u003C\u002Fcode>","関連 memory: [[autonomous-plan-a-b]], [[research_direction]], [[h_a_regression_findings]], [[feat_g_f16_packed_roi]]",[613,623,631,639,648,655,663],{"id":34,"title":34,"subtitle":614,"date":9,"workspace":615,"tags":616,"verdict":54,"psnr":619,"psnr_unit":-1,"wallclock":620,"splats":621,"summary_url":622,"detail_path":622},"A.12 Resolution scaling 実験 — Lego 200x200 px","splat",[26,617,618,18],"lego-30k","res-200",23.901262283325195,"23m 41s",80147,"\u002Fruns\u002Flego-res200-30k\u002F",{"id":35,"title":35,"subtitle":624,"date":9,"workspace":615,"tags":625,"verdict":54,"psnr":627,"psnr_unit":-1,"wallclock":628,"splats":629,"summary_url":630,"detail_path":630},"A.12 Resolution scaling 実験 — Lego 400x400 px",[26,617,626,18],"res-400",25.48073959350586,"22m 50s",83177,"\u002Fruns\u002Flego-res400-30k\u002F",{"id":36,"title":36,"subtitle":632,"date":9,"workspace":615,"tags":633,"verdict":54,"psnr":635,"psnr_unit":-1,"wallclock":636,"splats":637,"summary_url":638,"detail_path":638},"A.12 Resolution scaling 実験 — Lego 800x800 px",[26,617,634,18],"res-800",24.96428680419922,"22m 38s",81945,"\u002Fruns\u002Flego-res800-30k\u002F",{"id":29,"title":29,"subtitle":640,"date":9,"workspace":615,"tags":641,"verdict":54,"psnr":644,"psnr_unit":-1,"wallclock":645,"splats":646,"summary_url":647,"detail_path":647},"A.8 SH degree ablation — sh_degree=0 (DC only, no view-dependence)",[642,617,643,18],"sh-ablation","sh-0",16.50425910949707,"26m 47s",40288,"\u002Fruns\u002Flego-sh0-30k\u002F",{"id":30,"title":30,"subtitle":649,"date":9,"workspace":615,"tags":650,"verdict":54,"psnr":652,"psnr_unit":-1,"wallclock":636,"splats":653,"summary_url":654,"detail_path":654},"A.8 SH degree ablation — sh_degree=1 (DC only, no view-dependence)",[642,617,651,18],"sh-1",19.066896438598633,64139,"\u002Fruns\u002Flego-sh1-30k\u002F",{"id":31,"title":31,"subtitle":656,"date":9,"workspace":615,"tags":657,"verdict":54,"psnr":659,"psnr_unit":-1,"wallclock":660,"splats":661,"summary_url":662,"detail_path":662},"A.8 SH degree ablation — sh_degree=2 (DC only, no view-dependence)",[642,617,658,18],"sh-2",23.626060485839844,"22m 37s",70155,"\u002Fruns\u002Flego-sh2-30k\u002F",{"id":32,"title":32,"subtitle":664,"date":9,"workspace":615,"tags":665,"verdict":54,"psnr":667,"psnr_unit":-1,"wallclock":668,"splats":669,"summary_url":670,"detail_path":670},"A.8 SH degree ablation — sh_degree=3 (DC only, no view-dependence)",[642,617,666,18],"sh-3",24.87872886657715,"23m 13s",83734,"\u002Fruns\u002Flego-sh3-30k\u002F",[672,697,715,738,753,765,783],{"id":47,"title":673,"date":674,"status":675,"polarity":12,"category":676,"axes":677,"tags":678,"task_code":684,"related_runs":685,"delta_psnr":693,"delta_wallclock":694,"rank":53,"verdict":54,"impact_summary":695,"detail_path":696},"A.4 NeRF Synthetic 他シーン展開 — 8 シーン complete 30k 結果","2026-05-24","stable","experiment",[14],[18,679,23,680,681,682,683],"nerf-synthetic","psnr","scene-dependency","evaluation","8-scenes","A.4",[32,686,687,688,689,690,691,692],"chair-30k","ficus-30k","drums-30k","hotdog-30k","mic-30k","materials-30k","ship-30k","-5.93 dB (8 シーン平均 18.95 vs lego 24.879、std ±6.0)","21-29 min (シーン非依存的、materials のみ +5 min)","8 シーン complete (lego + 7 新規) 30k 完遂。シーン依存性が PSNR で 17.6 dB の幅 (materials 12.71 〜 hotdog 30.29)、mean 18.95 ± 6.0 dB。本実装の brush SoTA 比 gap は scene-dependent で -7.4 dB (hotdog) 〜 -22.3 dB (ficus 含む)。共通要因仮説: SfM init.ply の sparsity (細い枝 \u002F マイク \u002F 反射 PBR で薄い) + refine grad_threshold の lego\u002Fhotdog tuning over-fit。卒論 evaluation で「lego baseline + multi-scene mean ± std」併記必須。","\u002Ffindings\u002Fa-4-nerf-synthetic-scene-results\u002F",{"id":48,"title":698,"date":699,"status":675,"polarity":700,"category":676,"axes":701,"tags":702,"task_code":707,"related_runs":708,"delta_psnr":709,"delta_wallclock":710,"rank":711,"verdict":712,"impact_summary":713,"detail_path":714},"A.10 Kahan summation — Metal compiler が compensator を最適化消去","2026-05-23","negative",[16],[18,703,704,705,706],"kahan","metal-compiler","variance","msl","A.10",[32],0,"+0.5% (overhead のみ)","low","rejected","Neumaier compensated summation の compensator term は MSL compiler の algebraic optimization で消去され、loss は bit-identical。Kahan は wallclock overhead だけ残し variance reduction 効果ゼロ。","\u002Ffindings\u002Fa-10-kahan-negative\u002F",{"id":44,"title":716,"date":699,"status":675,"polarity":717,"category":718,"axes":719,"tags":720,"task_code":728,"related_runs":729,"delta_psnr":732,"delta_wallclock":733,"rank":734,"verdict":735,"impact_summary":736,"detail_path":737},"c32 V100 gsplat smoke — NFS 共有 env を異 sm 機へ持ち込み JIT 再 build 1 回で動作確認","positive","setup",[15],[721,722,723,724,25,725,726,727],"phase-2","gsplat","v100","c32","smoke","nfs","jit","A.3",[730,731],"gsplat-lego-1k-smoke","gsplat-lego-50-dryrun",19.81,"10.5s \u002F 1k step","mid","accepted","NFS 共有 gsplat-env を異 sm 機 (c33 sm_86 → c32 sm_70) に持ち込み、TORCH_CUDA_ARCH_LIST=7.0 で JIT 再 build 1 回 (93s) → 即動作。Lego 1k iter で wallclock 10.5s \u002F val PSNR 19.81 dB。30k full は Phase 2b。","\u002Ffindings\u002Fc32-gsplat-smoke\u002F",{"id":43,"title":739,"date":699,"status":675,"polarity":12,"category":676,"axes":740,"tags":741,"task_code":728,"related_runs":746,"delta_psnr":749,"delta_wallclock":397,"rank":53,"verdict":750,"impact_summary":751,"detail_path":752},"c32 V100 原著 3DGS 30k bench — A.5 三層対比表の最終 row & eval convention 乖離 finding",[15],[721,742,723,724,25,743,744,745],"original-3dgs","bench","eval-convention","abstraction-cost",[747,748],"orig3dgs-lego-1k-smoke","orig3dgs-lego-30k",28.384,"investigative","原著 3DGS を V100 で 30k 学習 (PSNR 28.38 dB \u002F 10m37s \u002F 237k splats)。同 V100・同 30k で brush (wgpu→Vulkan) 8m24s \u002F 37.46 dB を上回れず、抽象コスト ≪ 実装最適化レベル を CUDA 機でも再確認。さらに codebase eval と paper-standard eval で 12 dB 乖離 (28.4 vs 14.6) を発見、A.5 表は eval convention 注記必須。","\u002Ffindings\u002Fc32-orig3dgs-bench\u002F",{"id":41,"title":754,"date":699,"status":675,"polarity":12,"category":676,"axes":755,"tags":756,"task_code":728,"related_runs":760,"delta_psnr":761,"delta_wallclock":762,"rank":53,"verdict":750,"impact_summary":763,"detail_path":764},"M4 Max 上 brush (wgpu→Metal) の 30k baseline — wgpu 抽象は自作より速かった",[15],[721,24,757,758,759,745],"wgpu","baseline","m4-max",[32],"+11.13 dB (brush 比優位)","−65.6% (brush の方が速い)","wgpu 抽象は自作 native より遅いはず、という想定が逆。同一 M4 Max 上で brush (wgpu) が 9m08s \u002F 37.40 dB、自作 (Metal 直) が 26m32s \u002F 26.27 dB。第 2 軸 (抽象コスト定量化) の主張を再 framing する必要が確定。","\u002Ffindings\u002Fm4-brush-bench\u002F",{"id":50,"title":766,"date":699,"status":675,"polarity":700,"category":676,"axes":767,"tags":768,"task_code":773,"related_runs":774,"delta_psnr":780,"delta_wallclock":-1,"rank":53,"verdict":750,"impact_summary":781,"detail_path":782},"A.2 MCMC 検証で発覚した noise gate 不整合と L1 全滅 segfault",[14],[18,22,769,770,771,725,772],"sgld-noise","calibration","regression","segfault","A.2",[33,775,776,777,778,779],"mcmc-l1-only-smoke","mcmc-noise-sh3-smoke","mcmc-combo-iter-bisect","mcmc-combo-500","mcmc-l1-500","2.5 dB (sh=3 + 全部入り、50 iter で発散)","SGLD gate を paper 式に揃えた結果 mean_noise_weight が ~50-150x スケールズレし、calibration 補正 (5e5→5e3) でも iter 240 前後で SIGSEGV。Bisect smoke で真因が L1 全滅 → refine prune → 空 buffer crash というアルゴリズム順序問題と判明。Calibration ≠ correctness。","\u002Ffindings\u002Fmcmc-noise-calibration\u002F",{"id":49,"title":784,"date":9,"status":10,"polarity":785,"category":786,"axes":787,"tags":788,"task_code":773,"related_runs":793,"delta_psnr":-1,"delta_wallclock":-1,"rank":734,"verdict":750,"impact_summary":794,"detail_path":795},"A.2 MCMC 法の完全実装 — 3 設計欠陥の整理 (spec)","neutral","spec",[14],[18,22,789,786,790,791,792],"sgld","relocation","scale-l1","opacity-l1",[33],"本実装の MCMC が論文と乖離している 3 箇所 (5% incremental growth 欠如、λ_Σ\u002Fλ_o covariance\u002Fopacity 正則化欠如、relocation が refine prune に便乗) を整理し、A.2 の修正項目と検証条件を確定させた spec。","\u002Ffindings\u002Fmcmc-3-defects\u002F",1782449788628]