Skip to content
RobotWorld
Back to Papers

PAPER DEEP DIVE

3D Gaussian SplattingIPU图处理器

Rendering 3D Gaussians on a Graph Processor

We present the first implementation of a 3D Gaussian renderer on an Intelligence Processing Unit (IPU), comprising 1,472 independent tiles with only on-chip SRAM; constraints that approximate properties of efficient sensor-processor architectures. Our input scenes are 3D Gaussian maps from real-world sequences. Each tile 'owns' a screen-space region of the framebuffer; Gaussian primitives are routed to destination tiles via Manhattan-distance hops on a north-east-west-south (NEWS) grid, then distributed to overlapping neighbours in an expanding tree pattern. Computation follows the IPU's Bulk Synchronous Parallel (BSP) model, with inter-tile communication defined at compile time. We show this hardware allows us to exploit spatial and temporal locality by enabling local data transfer between cores. We evaluate the bottlenecks in this SRAM-only implementation: inter-tile bandwidth, per-tile SRAM capacity, and workload imbalance from non-uniform Gaussian density. We analyse how these constraints affect performance and render quality. This exploration raises broader questions for conventional GPUs and 3D representations, suggesting that direct inter-SM (streaming multiprocessor) communication might offer ways to reduce DRAM access in GPU kernels. We discuss these implications for the future of on-sensor and DRAM-free architectures. Project page: https://nmjfry.github.io/ipu-3dgs/

Nicholas Fry, Ignacio Alzugaray, Mark Pupilli, Paul H. J. Kelly, Andrew J. DavisonJuly 17, 20269 min read
中文
Nicholas Fry, Ignacio Alzugaray, Mark Pupilli, Paul H. J. Kelly, Andrew J. Davison (Imperial College London)
arXiv:2607.15951 · Project Page

Abstract

This paper presents the first implementation of a 3D Gaussian renderer on Graphcore's IPU (Intelligence Processing Unit), comprising 1,472 independent tiles with only on-chip SRAM—constraints approximating key properties of efficient sensor-processor architectures. Each tile "owns" a screen-space region of the framebuffer; Gaussian primitives are routed to destination tiles via Manhattan-distance hops on a NEWS (north-east-west-south) grid, then distributed to overlapping neighbors in an expanding tree pattern. Computation follows the IPU's BSP (Bulk Synchronous Parallel) model with inter-tile communication defined at compile time. Experiments show this hardware can exploit data locality in ways impossible on most GPU architectures, and reveal three bottlenecks: inter-tile bandwidth, per-tile SRAM capacity, and workload imbalance from non-uniform Gaussian density. This exploration raises broader questions for future DRAM-free and on-sensor rendering architectures.

Figure 1

Figure 1 — Kernel execution order per tile. A Gaussian is kept if rendered locally, else moved to a communication channel toward its destination.

1. Background & Motivation

3D Gaussian Splatting (3DGS) has become the leading method for real-time novel view synthesis: scenes are modeled as collections of anisotropic 3D Gaussians projected and alpha-composited in screen space, achieving photorealistic quality while remaining fully differentiable. However, most implementations assume GPU hardware with large off-chip DRAM, high memory bandwidth, and a global address space. 3DGS rendering is memory-bound on GPU: DRAM access, not arithmetic, dominates frame time. Gaussian data is repeatedly loaded into thread-block shared memory at every kernel launch.

Efficient computing relies on memory locality: minimizing the distance between data and compute reduces latency and energy. 3DGS rendering is parallel in screen space but involves global data movement—any Gaussian can project to any screen location, and Gaussians with large spatial extent must be shared across multiple screen regions. On a GPU this is handled by global random-access memory at the cost of memory latency and power. On an architecture without random-access memory, this data movement must be made explicit.

"On-sensor" computing—using pixel processor arrays (PPAs) to run meaningful computer-vision tasks entirely on-chip with extremely constrained resources—motivates the question: if the front-end of a spatial computing pipeline (feature detection, tracking, mapping) can run on massively parallel processors with only local memory, what does rendering look like on similar hardware? This paper uses the Graphcore Mk2 IPU to investigate.

2. Core Method

2.1 3D Gaussian Splatting Background

3DGS represents a scene as 3D Gaussian primitives, each parameterized by mean $\boldsymbol{\mu}\in\mathbb{R}^{3}$, 3D covariance matrix $\boldsymbol{\Sigma}$, opacity $\alpha$, and view-dependent color encoded via spherical harmonics. The covariance is reparameterized as $\boldsymbol{\Sigma}=RSS^{T}R^{T}$ where $R$ is a rotation matrix (stored as quaternion) and $S$ is a diagonal scaling matrix.

Rendering proceeds in four stages: (1) frustum culling; (2) projection to 2D screen space, producing 2D mean and covariance (the "conic" matrix $Q$); (3) depth sorting; (4) per-pixel alpha compositing in front-to-back order using the EWA splatting formulation:

$$C(\mathbf{x})=\sum_{i=1}^{N}c_{i}\,\sigma(\alpha_{i})\exp\!\bigl(-\tfrac{1}{2}\bar{\mathbf{x}}_{i}^{T}Q_{i}\,\bar{\mathbf{x}}_{i}\bigr)\prod_{j=1}^{i-1}\bigl(1-\sigma(\alpha_{j})\exp\!\bigl(-\tfrac{1}{2}\bar{\mathbf{x}}_{j}^{T}Q_{j}\,\bar{\mathbf{x}}_{j}\bigr)\bigr)$$

where $\bar{\mathbf{x}}_{i}=\mathbf{x}-\boldsymbol{\mu}_{i}^{2D}$ is the offset from the projected mean.

2.2 Graphcore IPU Architecture

The IPU Mk2 (GC200) comprises 1,472 independent tiles, each with a processor core (6 hardware threads) and 624 KB local SRAM—no external DRAM, no L2 cache, no shared address space. Execution follows the BSP model: each superstep consists of local computation, an exchange phase (tiles communicate via a structured fabric), and a global barrier synchronization. Communication patterns are defined at compile time via the Poplar graph compiler. The key contrast with GPUs: all data movement is explicit and predetermined—a GPU thread can load any global memory address at runtime; an IPU tile can only send/receive tensors defined when the program is compiled.

Table 1

Table 1 — Architectural properties of GPU, IPU, and PPA hardware classes.

2.3 Rendering Pipeline Design

The pipeline maps the four 3DGS stages onto the IPU's BSP execution model:

  • Projection (local compute): Each tile projects its stored Gaussians using the view matrix streamed from the host, computing 2D means, conics, and bounding boxes.
  • Routing (compute + exchange, repeated): Gaussians whose projected means fall outside the local tile are evicted toward their destination via Manhattan-distance hops on the NEWS grid. Repeats over BSP supersteps until convergence, guaranteed within $\max(W,H)$ supersteps ($W$, $H$ are grid dimensions).
  • Bloom (compute + exchange, repeated): Gaussians at their anchor tile whose 2D screen extent spans multiple framebuffer tiles are propagated to overlapping neighbors in an expanding tree pattern—horizontal (left/right) then vertical (up/down), eliminating cyclic copying.
  • Compositing (local compute): Each tile sorts local Gaussians by depth and performs front-to-back alpha compositing onto its framebuffer slice.
flowchart TB
    HOST["Host: View/Projection Matrix"] --> PROJ["Projection (Local Compute)"]
    PROJ --> ROUTE{"Anchor Local?"}
    ROUTE -->|Yes| BLOOM{"Spans Multi-Tile?"}
    ROUTE -->|No| NEWS["NEWS Grid Routing
Manhattan-Distance Hops"] NEWS --> ROUTE BLOOM -->|Yes| TREE["Tree-Pattern Bloom
Horizontal→Vertical"] BLOOM -->|No| COMP["Local Compositing"] TREE --> COMP["Depth Sort + Alpha Compositing"] COMP --> FB["Framebuffer Slice"] FB --> OUT["Host: Assemble Framebuffer"] style PROJ fill:#e0e7ff,stroke:#2563eb style NEWS fill:#fef3c7,stroke:#d97706 style TREE fill:#fce7f3,stroke:#db2777 style COMP fill:#dcfce7,stroke:#16a34a

2.4 Framebuffer Partitioning & Gaussian Representation

The output framebuffer (1280×720) is divided into 1,440 equal 32×20 pixel slices, each pinned to a separate IPU tile's SRAM. Tiles are arranged in a 2D grid matching the framebuffer's spatial layout, so tile adjacency corresponds to screen-space adjacency. Each Gaussian is stored as a 60-byte struct (mean 12B + color+opacity 16B + quaternion rotation 16B + log-space scale 12B + ID 4B), with view-dependent color simplified to zeroth-order spherical harmonics.

3. Experiments

3.1 Render Quality

For moderate-density scenes, IPU rendering is near-identical to the GPU baseline, preserving fine details including legible text. However, the dense Bonsai scene (273K Gaussians) reveals current limits: regions of very high Gaussian density exhibit rectangular tiling artifacts caused by channel saturation during the bloom phase preventing full Gaussian propagation.

3.2 Performance Analysis

SceneBlend (ms)Route min/mean/maxProj min/mean/maxSort min/mean/maxTotal (ms)
Pringles17.161.48 / 3.72 / 14.113.06 / 3.81 / 11.570.00 / 0.24 / 3.7546.59
Chairs15.761.60 / 6.82 / 16.063.10 / 4.41 / 11.730.00 / 0.40 / 3.8647.41
Salad16.661.48 / 4.14 / 14.223.07 / 3.95 / 11.610.00 / 0.26 / 3.3745.86
Sloth16.151.48 / 2.71 / 13.703.04 / 3.41 / 11.150.00 / 0.12 / 3.4044.40
Average16.431.48 / 4.35 / 14.523.07 / 3.90 / 11.520.00 / 0.26 / 3.6046.07

Total sums the slowest-tile (max) contribution per stage, as the BSP barrier is set by the slowest tile. Inter-tile exchange averages 0.07ms.

3.3 Data Locality & Churn Rate

The IPU's core advantage is exploiting data locality for incremental view changes. Static views have 0% churn (Gaussians don't move between frames), while GPU churn is effectively 100% per frame (all Gaussians potentially reloaded from DRAM).

Camera MotionMoved GaussiansChurn (%)
Orbit 0.1°1380.55
Orbit 0.5°6162.45
Orbit 2.0°2,74510.91
Pure translation560.22
Pure rotation 1°1,63411.99
Random teleport24,59597.75

Churn is much lower for incremental view changes than teleports, confirming data movement scales with view-change magnitude. Suited for online SLAM, AR glasses, mobile robots with incremental viewpoints.

Figure 2

Figure 2 — Gaussian "blooming" protocol. Arrows show the BSP timestep order.

4. Contributions

  • First implementation of 3DGS rendering on an SRAM-only MIMD processor architecture.
  • A routing scheme for distributing Gaussian primitives across tiles within compile-time communication constraints.
  • Experimental analysis of rendering quality and performance.
  • Bottleneck evaluation: inter-tile bandwidth saturation, per-tile SRAM pressure, load imbalance.
  • Insights for 3D representation and algorithm design for GPUs and future DRAM-free/on-sensor architectures.

5.

The 3D Gaussian covariance is decomposed as:

$$ \boldsymbol{\Sigma}=RSS^{T}R^{T} $$

The color at pixel $\mathbf{x}$ is computed by alpha-blending:

$$ C(\mathbf{x})=\sum_{i=1}^{N}c_{i}\,\sigma(\alpha_{i})\exp\!\bigl(-\tfrac{1}{2}\bar{\mathbf{x}}_{i}^{T}Q_{i}\,\bar{\mathbf{x}}_{i}\bigr)\prod_{j=1}^{i-1}\bigl(1-\sigma(\alpha_{j})\exp\!\bigl(-\tfrac{1}{2}\bar{\mathbf{x}}_{j}^{T}Q_{j}\,\bar{\mathbf{x}}_{j}\bigr)\bigr) $$

The offset from the Gaussian center:

$$ \bar{\mathbf{x}}_{i}=\mathbf{x}-\boldsymbol{\mu}_{i}^{2D} $$

The final pixel color in standard 3D Gaussian Splatting is computed by front-to-back alpha blending:

$$ C=\sum_{i=1}^{N}c_i\,\alpha_i\prod_{j=1}^{i-1}(1-\alpha_j) $$

where $\alpha_i=\sigma(\alpha_i^{raw})$ is the opacity, $c_i$ is the color, and the product $\prod(1-\alpha_j)$ represents the transmittance of all preceding Gaussians.

Limitations & Future Work

Bottlenecks: (1) Inter-tile bandwidth: NEWS channel capacity is fixed at compile time; dense regions cause rectangular artifacts when channels saturate. (2) Propagation latency: A Gaussian advances one tile per BSP superstep; an anchor moving $d$ tiles takes $d$ frames to arrive. (3) SRAM capacity: A single tile's 192KB buffer holds only 12.7% of Sloth, 1.2% of Bonsai. (4) Load imbalance: Non-uniform Gaussian density overloads some tiles.

Future: Compact representations (quantize the 60-byte struct for PPA-scale memory); hierarchical multi-resolution Gaussians; hybrid architectures (PPA front-end + capable tiles for rendering); direct inter-SM communication on GPUs to reduce DRAM access; backward pass (gradients flow primarily between neighboring tiles in incremental settings); large-scale rendering with scene data routed across CPU clusters.

6. Conclusion

This work demonstrates for the first time that 3D Gaussian Splatting's forward pass does not fundamentally require DRAM—once each Gaussian reaches the right tile, rendering is embarrassingly parallel, just as on a GPU. What changes is that data movement, normally hardware-managed with a global address space and cache hierarchy, becomes a core part of the algorithm: DRAM access is replaced by a network of nearest-neighbor exchanges. The central theme is exploiting spatial and temporal locality: standard GPU 3DGS re-sorts the entire Gaussian list in DRAM on every view change, while the IPU fabric allows moving data between tiles only when necessary. When viewpoints change gradually (e.g., robotic SLAM), most primitives remain in place, making local nearest-neighbor exchange a natural fit. This is an early step toward rendering pipelines for on-sensor/edge architectures and GPU kernels that spend less time waiting on DRAM.

3DGS rendering doesn't fundamentally need DRAM—replacing global memory with nearest-neighbor exchanges makes data movement part of the algorithm, achieving near-zero churn for incremental viewpoints.

Related Papers

DL-SLAM: Enabling High-Fidelity Gaussian Splatting SLAM in Dynamic Environments based on Dual-Level Probability

DL-SLAM: Enabling High-Fidelity Gaussian Splatting SLAM in Dynamic Environments based on Dual-Level Probability

Recent advances in 3D Gaussian Splatting (3DGS) have enabled significant progress in dense dynamic Simultaneous Localization And Mapping (SLAM). Prevailing methods typically discard predefined dynamic objects, ignoring that transiently static objects offer valuable geometric constraints for pose estimation. A recent work attempts to leverage this potential by employing per-pixel uncertainty maps to quantify the magnitude of motion. While this approach enables transiently static objects to enhance pose estimation, it erroneously integrates these objects into the static map, resulting in persistent artifacts. Moreover, its reliance on purely geometric information leads to ambiguous object boundaries in the uncertainty maps. To overcome these limitations, we present DL-SLAM, a monocular Gaussian Splatting SLAM system built upon a novel dual-level probabilistic framework. Our method computes dynamic probability maps by combining semantic and geometric information. These pixel-level probabilities are lifted to 3D and aggregated to derive an object-level dynamic probability for each instance. Object-level probability enables the categorical pruning of dynamic Gaussians, resulting in an artifact-free static map. The static map, in turn, provides a geometrically consistent guidance to refine the pixel-wise probabilities, enhancing their reliability. Experimental results demonstrate that DL-SLAM outperforms existing approaches, improving tracking accuracy by up to 13\% while generating high-fidelity semantic maps.

动态环境Dynamic EnvironmentsSLAMJul 2, 2026
VLK: Learning Humanoid Loco-Manipulation from Synthetic Interactions in Reconstructed Scenes

VLK: Learning Humanoid Loco-Manipulation from Synthetic Interactions in Reconstructed Scenes

VLK synthesizes paired vision-language-kinematics supervision inside 3DGS-reconstructed real scenes: it generates navigation and object-interaction trajectories with privileged scene info, renders egocentric views after the fact, and produces 48,000 paired trajectories to train a policy predicting Unitree G1 whole-body motion, enabling sim-to-real perception-based humanoid loco-manipulation.

humanoid人形机器人loco-manipulationJun 29, 2026
Exploration Matters for Escaping the Blur Trap in 3D Gaussian Splatting

Exploration Matters for Escaping the Blur Trap in 3D Gaussian Splatting

3D Gaussian Splatting (3DGS) employs Gaussian primitives for explicit scene representation, facilitating real-time, high-fidelity reconstruction and novel view synthesis of complex scenes. However, the explicit modeling inherent in 3DGS introduces a gradient bias during optimization, rendering its non-convex optimization process highly susceptible to convergence toward local suboptimal solutions. This constitutes a fundamental limitation in 3DGS optimization, which we term the Blur Trap. To address this limitation, we integrate simple explicit exploration into the 3DGS optimization framework. First, through rigorous mathematical analysis of the 3DGS optimization formulation, we identify the underlying optimization bias responsible for the Blur Trap and categorize it into two distinct subtypes: the Far-Side Blur Trap and the Near-Side Blur Trap. Subsequently, we propose two highly straightforward exploration strategies (Random Seeding and Random Splitting) to mitigate the far-side and near-side blur traps, respectively. Experimental validation demonstrates that the incorporation of these exploration operators effectively and complementarily overcome the Blur Trap, achieving high-quality rendering performance across multiple datasets. Project page: https://chengbo-wang.github.io/ExploreGS/

Paper3D Gaussian Splatting3DGSJul 20, 2026
QIRF Quantum-Inspired Non-Orthogonal Function-Space Compression for 3D Gaussian Splatting

QIRF Quantum-Inspired Non-Orthogonal Function-Space Compression for 3D Gaussian Splatting

3D Gaussian Splatting (3DGS) achieves high-quality real-time rendering by representing a scene with a large collection of anisotropic Gaussian primitives. However, complex scenes often require millions of Gaussians, resulting in substantial storage and rendering costs. Existing compression methods mainly reduce redundancy through primitive-wise pruning, attribute quantization, clustering, or neural coding, while redundancy caused by strongly overlapping and non-orthogonal Gaussian basis functions remains largely unexplored. We present QIRF, a quantum-inspired non-orthogonal function-space compression method for 3D Gaussian Splatting. QIRF models neighboring Gaussian primitives as a local non-orthogonal basis and formulates primitive reduction as a subspace-aware selection problem. Specifically, an analytic Gaussian overlap matrix and a radiance-response density matrix are constructed to characterize functional redundancy and rendering relevance. Generalized eigendecomposition is then used to identify the dominant local subspace and select representative Gaussian primitives. An RRDM-based response model and detail-aware safeguarding further preserve visually important high-frequency structures under aggressive pruning. Experiments on 13 scenes from Mip-NeRF 360, Tanks and Temples, and Deep Blending show that QIRF reduces the Gaussian count and raw PLY storage by 71.7 percent on average, corresponding to approximately 3.54 times compression, while maintaining reconstruction quality comparable to 3DGS and achieving a marginal average PSNR improvement of 0.10 dB. QIRF also improves the average rendering speed over 3DGS by 34.3 percent. These results suggest that non-orthogonal function-space redundancy is an important yet underexplored source of representational redundancy in explicit Gaussian radiance fields.

Paper3D Gaussian Splatting3DGSJul 20, 2026