Show HN: Msplat – 3D Gaussian Splatting training in ~90s on M4 Max, native Metal (github.com)

2 points by rayanht ↗ HN
Hey HN, I built msplat because I wanted to train 3DGS scenes on my Mac without pulling in torch. Most ports I came across go through autograd and hence come with ~2GB of framework overhead, which felt overkill for a pipeline that's just a few dozen GPU kernels + an optimizer.

So I wrote the whole training pipeline from scratch as Metal shaders: projection, tile-based rasterization, SSIM loss, backward pass, Adam, and densification. Everything runs on the GPU

msplat trains 7k iterations of full-resolution Mip-NeRF 360 scenes in ~90s on my M4 Max. In the README I compare against gsplat's published numbers, which were measured on a TITAN RTX. Ofc these are different hardware classes, so take the wall-time comparisons with a grain of salt

Python bindings are on PyPI (pip install msplat), and there are Swift bindings if you want to embed this in a native app. Happy to answer questions about any of the internals

Repo: https://github.com/rayanht/msplat (Apache 2.0)

0 comments

[ 0.23 ms ] story [ 6.9 ms ] thread

No comments yet.