CUDA accelerated rasterization of gaussian splatting
5,653
stars
1,173
commits
Python
primary language
Sep 3, 2026
updated
gsplat is an open-source library for CUDA accelerated rasterization of gaussians with python bindings. It is inspired by the SIGGRAPH paper 3D Gaussian Splatting for Real-Time Rendering of Radiance Fields, but we’ve made gsplat even faster, more memory efficient, and with a growing list of new features!
Changes on main since the v1.5.3 tag (not yet on PyPI).
gsplat namespace.experimental package. The inference path uses macro-tile fused rasterization with fp16 scene packing for low-latency rendering of pre-trained Gaussian scenes. For more details, see the Inference Rendering section and the HiGS project page.inject_noise) speeds up the noise-injection step used in MCMC-style Gaussian optimization.PointCloudsSourceProtocol. See the NCore example.eval3d rendering, depth / hit-distance modes, and related tooling (optional SciPy via pip install "gsplat[lidar]").Dependence: Please install Pytorch first.
The easiest way is to install from PyPI. In this way it will build the CUDA code on the first run (JIT).
pip install gsplat
Alternatively you can install gsplat from source. In this way it will build the CUDA code during installation.
pip install git+https://github.com/nerfstudio-project/gsplat.git
We also provide pre-compiled wheels for both linux and windows on certain python-torch-CUDA combinations (please check first which versions are supported). Note this way you would have to manually install gsplat's dependencies. For example, to install gsplat for pytorch 2.0 and cuda 11.8 you can run
pip install ninja numpy jaxtyping rich
pip install gsplat --index-url https://docs.gsplat.studio/whl/pt20cu118
To build gsplat from source on Windows, please check this instruction.
This repo comes with a standalone script that reproduces the official Gaussian Splatting with exactly the same performance on PSNR, SSIM, LPIPS, and converged number of Gaussians. Powered by gsplat’s efficient CUDA implementation, the training takes up to 4x less GPU memory with up to 15% less time to finish than the official implementation. Full report can be found in the evaluation results.
python -m pip install -e .
cd examples
python -m pip install -r requirements.txt
# download mipnerf_360 benchmark data
python datasets/download_dataset.py
# run batch evaluation
bash benchmarks/basic.sh
We provide a set of examples to get you started! Below you can find the details about
the examples (requires installing some extra dependencies via pip install -r examples/requirements.txt --no-build-isolation)
gsplat includes an experimental inference-only rendering path based on HiGS (Hierarchically Tiled Gaussian Splatting) in the standalone experimental package, designed for low-latency rendering of pre-trained Gaussian scenes where training gradients are not needed. The inference path packs scene data into compact fp16 layouts and uses a macro-tile fused rasterization pipeline for fast single-camera rendering.
from gsplat.experimental import render_scene, GaussianInferenceScene
The simple_viewer.py example supports the Inference path via the --use_gaussian_render_inference_scene flag. A standalone benchmark comparing Inference rendering against the default rasterization() path is available in examples/benchmarks/gaussian_render_inference_scene/; run gaussian_render_inference_scene_bench.py from the repo root. For more details, see the HiGS project page.
This repository was born from the curiosity of people on the Nerfstudio team trying to understand a new rendering technique. We welcome contributions of any kind and are open to feedback, bug-reports, and improvements to help expand the capabilities of this software.
This project is developed by the contributors coming from following institutes (unordered):
We also have a white paper with about the project with benchmarking and mathematical supplement with conventions and derivations, available on arXiv. If you find this library useful in your projects or papers, please consider citing:
@article{ye2025gsplat,
title={gsplat: An open-source library for Gaussian splatting},
author={Ye, Vickie and Li, Ruilong and Kerr, Justin and Turkulainen, Matias and Yi, Brent and Pan, Zhuoyang and Seiskari, Otto and Ye, Jianbo and Hu, Jeffrey and Tancik, Matthew and Angjoo Kanazawa},
journal={Journal of Machine Learning Research},
volume={26},
number={34},
pages={1--17},
year={2025}
}
We welcome contributions of any kind and are open to feedback, bug-reports, and improvements to help expand the capabilities of this software. Please check docs/DEV.md for more info about development.
(top 30 of 115)
Python
47.3%
Cuda
30.5%
C++
22.0%
CUDA accelerated rasterization of gaussian splatting
5,653
stars
1,173
commits
Python
primary language
Sep 3, 2026
updated
gsplat is an open-source library for CUDA accelerated rasterization of gaussians with python bindings. It is inspired by the SIGGRAPH paper 3D Gaussian Splatting for Real-Time Rendering of Radiance Fields, but we’ve made gsplat even faster, more memory efficient, and with a growing list of new features!
Changes on main since the v1.5.3 tag (not yet on PyPI).
gsplat namespace.experimental package. The inference path uses macro-tile fused rasterization with fp16 scene packing for low-latency rendering of pre-trained Gaussian scenes. For more details, see the Inference Rendering section and the HiGS project page.inject_noise) speeds up the noise-injection step used in MCMC-style Gaussian optimization.PointCloudsSourceProtocol. See the NCore example.eval3d rendering, depth / hit-distance modes, and related tooling (optional SciPy via pip install "gsplat[lidar]").Dependence: Please install Pytorch first.
The easiest way is to install from PyPI. In this way it will build the CUDA code on the first run (JIT).
pip install gsplat
Alternatively you can install gsplat from source. In this way it will build the CUDA code during installation.
pip install git+https://github.com/nerfstudio-project/gsplat.git
We also provide pre-compiled wheels for both linux and windows on certain python-torch-CUDA combinations (please check first which versions are supported). Note this way you would have to manually install gsplat's dependencies. For example, to install gsplat for pytorch 2.0 and cuda 11.8 you can run
pip install ninja numpy jaxtyping rich
pip install gsplat --index-url https://docs.gsplat.studio/whl/pt20cu118
To build gsplat from source on Windows, please check this instruction.
This repo comes with a standalone script that reproduces the official Gaussian Splatting with exactly the same performance on PSNR, SSIM, LPIPS, and converged number of Gaussians. Powered by gsplat’s efficient CUDA implementation, the training takes up to 4x less GPU memory with up to 15% less time to finish than the official implementation. Full report can be found in the evaluation results.
python -m pip install -e .
cd examples
python -m pip install -r requirements.txt
# download mipnerf_360 benchmark data
python datasets/download_dataset.py
# run batch evaluation
bash benchmarks/basic.sh
We provide a set of examples to get you started! Below you can find the details about
the examples (requires installing some extra dependencies via pip install -r examples/requirements.txt --no-build-isolation)
gsplat includes an experimental inference-only rendering path based on HiGS (Hierarchically Tiled Gaussian Splatting) in the standalone experimental package, designed for low-latency rendering of pre-trained Gaussian scenes where training gradients are not needed. The inference path packs scene data into compact fp16 layouts and uses a macro-tile fused rasterization pipeline for fast single-camera rendering.
from gsplat.experimental import render_scene, GaussianInferenceScene
The simple_viewer.py example supports the Inference path via the --use_gaussian_render_inference_scene flag. A standalone benchmark comparing Inference rendering against the default rasterization() path is available in examples/benchmarks/gaussian_render_inference_scene/; run gaussian_render_inference_scene_bench.py from the repo root. For more details, see the HiGS project page.
This repository was born from the curiosity of people on the Nerfstudio team trying to understand a new rendering technique. We welcome contributions of any kind and are open to feedback, bug-reports, and improvements to help expand the capabilities of this software.
This project is developed by the contributors coming from following institutes (unordered):
We also have a white paper with about the project with benchmarking and mathematical supplement with conventions and derivations, available on arXiv. If you find this library useful in your projects or papers, please consider citing:
@article{ye2025gsplat,
title={gsplat: An open-source library for Gaussian splatting},
author={Ye, Vickie and Li, Ruilong and Kerr, Justin and Turkulainen, Matias and Yi, Brent and Pan, Zhuoyang and Seiskari, Otto and Ye, Jianbo and Hu, Jeffrey and Tancik, Matthew and Angjoo Kanazawa},
journal={Journal of Machine Learning Research},
volume={26},
number={34},
pages={1--17},
year={2025}
}
We welcome contributions of any kind and are open to feedback, bug-reports, and improvements to help expand the capabilities of this software. Please check docs/DEV.md for more info about development.
(top 30 of 115)
Python
47.3%
Cuda
30.5%
C++
22.0%