nerfstudio-project / gsplat

CUDA accelerated rasterization of gaussian splatting
https://docs.gsplat.studio/
Apache License 2.0
1.36k stars 164 forks source link

MPS Support? #163

Open andrewkchan opened 3 months ago

andrewkchan commented 3 months ago

Hi! I recently ported OpenSplat's fork of the gsplat library to metal performance shaders so that training splats could use GPUs on Macs. I was wondering if the team would be interested in me upstreaming these changes. I noticed the CUDA kernels are newer than the OpenSplat ones, have some ongoing development, and there may be questions of whether an MPS backend is worth maintaining.

josephldobson commented 2 months ago

Hi Andrew, I've just started my CUDA/metal journey and am learning fast, I would defo be interested in a metal port. I would also be willing to maintain it. Let me know if you're still interested

andrewkchan commented 2 months ago

Hi @josephldobson, sorry just saw your message. I'm busy with other things these days but my patch adding metal support can be read in this PR if you want to give upstreaming it a shot! https://github.com/pierotofy/OpenSplat/pull/76

iffyloop commented 3 weeks ago

This is based on an old version of gsplat and probably not convenient for upstreaming, but if anyone needs a quick solution to use gsplat on MPS, I was able to get Andrew's suggestion working and uploaded to this repo: https://github.com/iffyloop/gsplat-mps