Skip to content

AMD-Ecosystem/gsplat

Repository files navigation

GSplat for ROCm

GSplat is an open-source library for GPU-accelerated rasterization of Gaussians with Python bindings. It is inspired by the SIGGRAPH paper 3D Gaussian Splatting for Real-Time Rendering of Radiance Fields.

This repository is the HIP port of the original GSplat project, optimized for ROCm, and designed to run on AMD Instinct™ GPUs.

System Requirements

To use GSplat, you need the following prerequisites:

  • ROCm: version 6.4.3, 7.0.0 (recommended)
  • Operating system: Ubuntu 22.04, 24.04
  • GPU platform: AMD Instinct™ MI300X
  • PyTorch: version 2.6, 2.8 (ROCm-enabled)
  • Python: version 3.10, 3.12

Installation

  1. Install PyTorch (with ROCm support).
    The easiest method is using the official ROCm PyTorch Docker image:

    For ROCm 7.0.0:

    docker pull rocm/pytorch:rocm7.0_ubuntu24.04_py3.12_pytorch_release_2.8.0

    For ROCm 6.4.3:

    docker pull rocm/pytorch:rocm6.4.3_ubuntu22.04_py3.10_pytorch_release_2.6.0
  2. Launch and connect to the container:

    For ROCm 7.0.0:

    docker run --cap-add=SYS_PTRACE --ipc=host --privileged=true      --shm-size=128GB --network=host      --device=/dev/kfd --device=/dev/dri      --group-add video -it -v $HOME:$HOME      --name rocm_pytorch rocm/pytorch:rocm7.0_ubuntu24.04_py3.12_pytorch_release_2.8.0

    For ROCm 6.4.3:

    docker run --cap-add=SYS_PTRACE --ipc=host --privileged=true      --shm-size=128GB --network=host      --device=/dev/kfd --device=/dev/dri      --group-add video -it -v $HOME:$HOME      --name rocm_pytorch rocm/pytorch:rocm6.4.3_ubuntu22.04_py3.10_pytorch_release_2.6.0
  3. Install GSplat from the AMD-hosted PyPI repository:

    For ROCm 7.0.0:

    pip install amd_gsplat --extra-index-url=https://pypi.amd.com/rocm-7.0.0/simple/

    For ROCm 6.4.3:

    pip install amd_gsplat --extra-index-url=https://pypi.amd.com/rocm-6.4.3/simple/
  4. Verify the installation:

    pip show amd_gsplat
  5. The output should show as follows:

    Name: amd_gsplat
    Version: 1.5.3+fec758f
    Summary: Python package for differentiable rasterization of Gaussians
    Home-page: https://github.com/rocm/gsplat
    Author: AMD Corporation
    License: Apache 2.0
    Location: /opt/conda/envs/py_3.12/lib/python3.12/site-packages
    Requires: jaxtyping, ninja, numpy, rich, torch
    
    

Examples

We provide a set of examples to get you started.

  1. Clone the examples folder:

    git clone --no-checkout https://github.com/rocm/gsplat.git
    cd gsplat
    git sparse-checkout init --cone
    git sparse-checkout add examples
    git checkout main
  2. Install dependencies and download datasets:

    cd examples
    ./install_dependencies.sh
    python datasets/download_dataset.py
  3. To run the examples, refer to the run a GSplat example topic. The examples are as follows:

Evaluation

This repository includes a standalone script that reproduces the official Gaussian Splatting benchmarks with equivalent performance on PSNR, SSIM, LPIPS, and the number of converged Gaussians.

Thanks to GSplat’s optimized GPU implementation:

  • Training uses up to 4× less GPU memory
  • Training is up to 15% faster compared to the official implementation

Building from source

Refer to the installation instructions to learn how to build the GSplat library from source.

Contributing

We welcome contributions of all kinds and are open to feedback, bug-reports, and improvements, to help expand the capabilities of this software. See contributing to GSplat for more info.

Core Development

This project is developed and maintained by the following contributors (unordered):

Citation

We also provide a white paper with benchmarks, mathematical derivations, and conventions: arXiv link.

If you use this library in your research, please cite:

@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}
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages