Spatially Sparse Convolutions — Overview¶
Created: 2026-05-03 12:45:00 PST Edited: 2026-05-03 12:45:00 PST
Spatially sparse convolution material is split across three pages. This page is a map — pick the one that matches what you want to do.
Which page should I read?¶
| If you want to… | Read |
|---|---|
| Understand what "spatially sparse" means; see the math; watch animations of dense / sparse / stride=1 / generalized convolution | Concepts |
Pick a layer (SparseConv3d, group conv, depthwise, generative) and write code |
Variants & API |
| Understand the GEMM-level implementation, kernel maps, the AB / ABt / AtB ops, or pick a backend | Internals |
At a glance¶
┌──────────────────────────┐
│ Concepts │ math definition
new reader ───────────────▶│ sparse_convolutions.md │ + 4 animations
└──────────────────────────┘
│
┌────────────────────┴────────────────────┐
▼ ▼
┌─────────────────────────────────────┐ ┌─────────────────────────────────────┐
│ Variants & API │ │ Internals │
│ sparse_convolutions_variants.md │ │ sparse_convolutions_internals.md │
│ │ │ │
│ standard / group / depthwise / │ │ kernel map, AB / ABt / AtB GEMMs, │
│ generative; usage examples │ │ algorithm taxonomy, source files │
└─────────────────────────────────────┘ └─────────────────────────────────────┘
(API user) (contributor / perf engineer)
What WarpConvNet implements¶
WarpConvNet implements spatially sparse convolutions on integer-grid voxel coordinates: convolutions where only the occupied coordinates of a sparse 3D tensor carry features, and work scales with occupied neighbor pairs instead of dense grid volume.
The generalized form (one equation, four pages of consequences):
\[
\mathbf{y}_{\mathbf{u}} \;=\; \sum_{\mathbf{i} \in \mathcal{N}(\mathbf{u},\,\mathcal{K},\,\mathcal{C}^{\text{in}})} \mathbf{W}_{\mathbf{i}}\, \mathbf{x}_{\mathbf{u} + \mathbf{i}}
\qquad \mathbf{u} \in \mathcal{C}^{\text{out}}.
\]
For full definitions of \(\mathcal{C}^{\text{in}}\), \(\mathcal{C}^{\text{out}}\), \(\mathcal{K}\), \(\mathcal{N}\) and the visual intuition for each regime, start with Concepts.
Related pages¶
- Auto-Tuning — how WarpConvNet picks a backend per shape.
- Packed Hash Table — coordinate index that backs the kernel-map build.
- Bilateral & Permutohedral Filters — sparse convolution lifted to high-dimensional lattices.
- Accumulator Precision — fp32 vs fp16 in the mask GEMM.