松田研究室
FindingID: m4-brush-bench
Status: stable / task A.3
← Findings Index
Phase 2d · M4 brush bench

M4 Max 上 brush (wgpu→Metal) の 30k baseline — wgpu 抽象は自作より速かった

Phase 2d。同じ M4 Max マシンで brush を wgpu→Metal で 30k 学習させ、PSNR 37.40 dB / 9m08s。自作 Metal 直 (M-3 = 26.27 dB / 26m32s) より高速 + 高品質。wgpu 抽象化 = 自動的に遅い、という想定が崩れた。

mixedrank: highinvestigative第 2 軸phase-2brushwgpubaselinem4-maxabstraction-cost
Δ PSNR
+11.13 dB (brush 比優位)
Δ Wallclock
−65.6% (brush の方が速い)
Δ Splats
282k vs 84k
Impact
wgpu 抽象は自作 native より遅いはず、という想定が逆。同一 M4 Max 上で brush (wgpu) が 9m08s / 37.40 dB、自作 (Metal 直) が 26m32s / 26.27 dB。第 2 軸 (抽象コスト定量化) の主張を再 framing する必要が確定。
01

本文

M4 Max 上で brush (wgpu → Metal backend) を Lego 30k で完走させ、PSNR 37.40 dB / wallclock 9m08s / 282k splats を観測。同じハードで自作 Metal 直の M-3 baseline は 26.27 dB / 26m32s / 84k splats なので、wgpu 抽象は 自作より速く + 高品質

実行日
2026-05-23
machine
M4 Max 36GB unified memory
brush version
git rev (M4 Max ローカル checkout)
dataset
Lego (NeRF Synthetic)
iter
30,000
seed
42

結果サマリ

implPSNR (dB)wallclockfinal splats
brush (wgpu→Metal)37.409m08s282,103
自作 (Metal 直 M-3)26.2726m32s83,734
差分+11.13-65.6%+3.4×

従来想定と finding の方向

Phase 1A での brush bench (PSNR 37.38 / 6m24s) は M4 Max 同条件で参考値として確立されていた。第 2 軸 (wgpu 抽象コスト定量化) は「自作 Metal 直 << wgpu << CUDA」という階層を仮定していたが、Phase 2d で wgpu < 自作 Metal 直 (両方向) という想定逆転が確定した。

Re-framing 候補

第 2 軸の主張を「wgpu の overhead を Metal 直で削減できる」から「自作 native の 欠落要素 (例: tile binning、bind group caching、shader cache の細かさ) を解明できる定量分析」に再 framing する必要あり。m4-brush-bench + c32-orig3dgs-bench + m4-self-bench の三層対比表で正面から扱う。

想定原因 (短評)

  • tile binning: brush は per-tile sort + culling を独自最適化、自作は naive prefix sum
  • shader cache: wgpu は内部で MTLLibrary を再利用、自作は毎 dispatch で encoder 再生成 (M-3 で軽減したが残存)
  • refine schedule: brush の densify (clone/split) は per-iter で動く軽量実装、自作は eval batch 単位
  • SH eval: brush は SIMD intrinsics + uniform buffer、自作は per-vertex shader (M-2 で SIMD 集約済みだが SH 専用 path 未対応)
Next steps

(1) brush の MSL コードを逆アセンブル + per-kernel timing で同様の rasterize_backwards にあたる kernel を特定。(2) 自作 M-3 と benchmark 同一条件で再走 (M-3.x 損失計算 GPU 化後の差分も計測)。(3) 第 2 軸の論述を「優位性」ではなく「比較分析」に re-frame。

02

関連する run

この finding が観測された / 言及している実験 run。

03

関連 finding

© 2026 大竹律輝 — 松田研究室