Skip to content

Metal/MPS (M1/Apple Silicon) accelerated rasterization of gaussian splatting

License

Notifications You must be signed in to change notification settings

iffyloop/gsplat-mps

 
 

Repository files navigation

gsplat-mps

NOTICE: The default branch for this repository is opensplat-mps, based on tag 0.1.3 of gsplat. This is the only branch with MPS-related changes, the main branch is irrelevant for this project. gsplat-mps was tested with Python 3.10.14.

This is a fork of gsplat version 0.1.3 ported to Apple MPS (Metal Performance Shaders), thanks to OpenSplat's Metal implementation. It is not thoroughly tested, but I can confirm that (at time of writing) the examples/simple_trainer.py script runs correctly on my device. Below is the quick start I used to get this module up and running on my device - please see the original repository's readme for more information.

git clone --recursive https://github.com/iffyloop/gsplat-mps.git
cd gsplat-mps
python -m virtualenv venv
source venv/bin/activate
pip install torch torchvision
pip install -e ".[dev]"
pip install -r examples/requirements.txt
python examples/simple_trainer.py

License

gsplat-mps is licensed under AGPLv3 terms due to the Metal implementation derived from OpenSplat. Otherwise, the original gsplat implementation is licensed under the Apache License v2.

Packages

No packages published

Languages

  • Cuda 33.2%
  • Python 26.0%
  • Metal 20.8%
  • Objective-C++ 13.5%
  • C++ 5.1%
  • C 0.9%
  • CMake 0.5%