Optimal Transport Studio
A browser-native optimal-transport solver — the Sinkhorn algorithm with ε-regularization, barycenter blending, and a real-time heatmap, running entirely in a browser tab via WebGPU.
JavaScript · WebGPU · Typed Arrays · Sinkhorn
- 512×512
- grids (262,144 points), interactive
- 3–8×
- faster than the naive path
- WebGPU
- no server, no Python
What it is
Optimal transport normally runs server-side or in Python. This moves the whole computation into the browser: a WebGPU and typed-array compute path that solves ε-regularized OT and renders the result live.
source μ ┐
├─▶ Sinkhorn (ε-regularized · log-domain stable · ε-annealing)
target ν ┘ │ WebGPU compute · typed arrays
▼
transport plan ──▶ real-time heatmap (512×512)Numerical stability
Sinkhorn gets unstable as ε shrinks. Log-domain stabilization plus ε-annealing keep it well-behaved at very small ε, where the transport plan is sharp enough to be useful.
Performance
The WebGPU path runs 3–8× faster than the naive implementation and holds 512×512 grids — 262,144 points — at interactive speeds, entirely client-side.