gsplat

nerfstudio-projectApache-2.0活跃维护

用 CUDA 加速高斯泼溅光栅化,让 3D 高斯场景的训练和渲染跑得更快,适合做三维重建与实时渲染。

CUDA accelerated rasterization of gaussian splatting

v1.5.3发布于 2025-07-04 16:25 UTC5,886star +12 / 7 天1,011fork同步于 2026-11-10 17:36 UTC

怎么上手

由 README 提炼,执行前请确认
pip install gsplat
硬件要求按 README 说明

README 未明确列出最低显存要求;需先安装 PyTorch,CUDA 代码在首次运行时 JIT 编译,并提到对 CUDA 12.8/13.2 的构建兼容性改进,性能数据基于 NVIDIA A100。

需要 CUDA多卡 / 张量并行
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

用 CUDA 加速高斯泼溅光栅化的开源库,带 Python 绑定,比官方实现更快更省显存

用 CUDA 加速高斯泼溅光栅化,让 3D 高斯场景的训练和渲染跑得更快,适合做三维重建与实时渲染。

核心能力

  • 用 CUDA 加速高斯光栅化,提供 Python 绑定
  • 训练显存最多省 4 倍、耗时最多少 15%
  • 支持 3DGUT、LiDAR、稀疏与多 GPU 稠密渲染
  • 集成 MCMC 致密化与 PPISP 后处理
  • 提供 HiGS 实验性推理渲染路径

容易踩的坑

必须先自行安装 PyTorch,且新版要求 PyTorch 2.7+;pip 安装会在首次运行时 JIT 编译 CUDA 代码,需要可用的 CUDA 编译环境;使用预编译 wheel 时需手动安装 ninja、numpy、jaxtyping、rich 等依赖。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v1.5.3
  1. v1.5.3最新正式版2025-07-04 · 2025-07-04 16:25 UTC

    Highlights

    gsplat.rasterization now supports render a batch of scenes in one pass. [In addition to its original support of rendering a batch of cameras per scene]

    What's Changed

    New Contributors

    Full Changelog: https://github.com/nerfstudio-project/gsplat/compare/v1.5.2...v1.5.3

  2. v1.5.22025-05-13 · 2025-05-13 08:57 UTC
    查看更新说明

    Highlights

    • 3DGUT is integrated. Now distorted cameras are supported, along with rolling shutter.
    • 2DGS now supports camera gradients (camera pose).
    • full nerfstudio-style viewer supported in the repo.
    • PyPI package fix.

    What's Changed

    New Contributors

    Full Changelog: https://github.com/nerfstudio-project/gsplat/compare/v1.5.1...v1.5.2

  3. v1.5.12025-04-18 · 2025-04-18 07:50 UTC
    查看更新说明

    Highlights

    New exporter python api: from gsplat import export_splats, supprts three exporting formats (#628, #640):

    • .ply: A standard PLY file format. Supported by most viewers.
    • .splat: A custom Splat file format. Supported by antimatter15 viewer.
    • .ply_compressed: A compressed PLY file format. Used by Supersplat viewer.

    What's Changed

    New Contributors

    Full Changelog: https://github.com/nerfstudio-project/gsplat/compare/v1.5.0...v1.5.1

  4. v1.5.02025-04-04 · 2025-04-04 17:48 UTC
    查看更新说明

    Highlights

    • 3.5x faster compilation (4m19s -> 1m22s) via code refactoring.
    • up to 25% faster rasterization function via more accurate GS-tile intersection.
    • support CUDA fused Adam Optimizer with mask support (from gsplat.optimizers import SelectiveAdam)

    What's Changed

  5. v1.4.02024-09-27 · 2024-09-27 05:31 UTC
    查看更新说明

    Highlights

    • support 2DGS
    • Camera model: perspective, orthogonal, fish-eye
    • Start to support pre-built wheels (python 10)

    What's Changed

    New Contributors

    Full Changelog: https://github.com/nerfstudio-project/gsplat/compare/v1.3.0...v1.4.0

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    gsplat

    Core Tests. Docs

    http://www.gsplat.studio/

    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!

    News

    v1.6.0

    Changes on main since the v1.5.3 tag (not yet on PyPI).

    • [Aug 2026] Spherical-harmonics updates -- split diffuse and view-dependent operators, fused view-direction computation, and optimized backward kernels.
    • [Jul 2026] Sparse 3DGS rasterization -- active-tile rendering with forward/backward support and sparse Gaussian ID, count, and top-contributor queries.
    • [Jul 2026] Multi-GPU dense 3DGS -- distributed support for the dense rendering path.
    • [Jul 2026] PPISP across densification strategies -- post-processing now works with both the default and MCMC strategies.
    • [Jul 2026] Additional performance and code improvements:
      • Faster 3DGS and 3DGUT kernels -- optimized dense rasterization, spherical-harmonics feature assembly, and projection across sensor models.
      • Orthographic-camera support for 3DGUT.
      • Fused SE(3) operations for pose composition and trajectory interpolation.
      • More configurable MCMC operations for perturbation and relocation.
      • PyTorch 2.7+ is now required, with improved CUDA 12.8 and 13.2 build compatibility.
    • [Jun 2026] G-SHARP -- dynamic surgical-scene reconstruction for Gaussian splatting.
    • [Jun 2026] New camera & sensor support in the sensors library: pinhole, FTheta, fisheye, and LiDAR models.
    • [Jun 2026] Faster rasterization -- a series of performance improvements across the 3DGS and 3DGUT rasterization paths. Noticing roughly 30% improvement on the 3DGUT MCMC path on an NVIDIA A100.
    • [Jun 2026] Gaussian ID rasterization -- a new op to rasterize Gaussian IDs, counts, and top contributors per pixel.
    • [Jun 2026] Various performance and code improvements:
      • Spherical-harmonics improvements -- support for arbitrary channel counts and fp16.
      • Profiling and tracing tools for diagnosing performance.
      • Robustness and stability fixes across the library.
      • Stronger test coverage, plus ahead-of-time (AOT) build/test CI.
      • CUDA 13 and NumPy 2 support.
      • Simplified package layout -- everything now lives under the gsplat namespace.
    • [May 2026] Inference Rendering (HiGS) -- An experimental inference-only rendering path based on HiGS (Hierarchically Tiled Gaussian Splatting) is now available under the 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.
    • [May 2026] Native CUDA MCMC perturb (inject_noise) speeds up the noise-injection step used in MCMC-style Gaussian optimization.
    • [Apr 2026] AccuTile adds a conservative ellipse-based tile–Gaussian intersection test on the 3DGS path for tighter work scheduling before rasterization (PR #927).
    • [Apr 2026] NCore v4 capture support, including richer camera models and point-cloud loading via PointCloudsSourceProtocol. See the NCore example.
    • [Mar 2026] LiDAR rasterization for 3D Gaussian splatting: spinning-lidar camera models, eval3d rendering, depth / hit-distance modes, and related tooling (optional SciPy via pip install "gsplat[lidar]").
    • [Mar 2026] TorchScript-oriented deployment: camera models and distortions are also available through PyTorch custom operators and custom classes, not only Python callables.
    • [Mar 2026] 3DGUT extensions: external distortion (e.g. windshield-style rigs), optional per-ray inputs with gradients, optional ray-normal outputs, and refactored render modes / extra signals (see 3DGUT notes).
    • [Jan 2026] PPISP is integrated as an alternative way of bilateral grid to compensate the training views.

    v1.5.3

    Installation

    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.

    Evaluation

    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
    

    Examples

    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)

    Inference Rendering

    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.

    Development and Contribution

    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):

    • UC Berkeley
    • NVIDIA
    • ShanghaiTech University
    • Amazon
    • Meta
    • IIIT
    • LumaAI
    • SpectacularAI
    • Aalto University
    • CMU

    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.