|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project will be documented in this file. The |
| 4 | +format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), |
| 5 | +and the project follows [Semantic Versioning](https://semver.org/) starting |
| 6 | +from `0.1.0`. |
| 7 | + |
| 8 | +## [0.1.0] — 2026-05-04 |
| 9 | + |
| 10 | +First public release of the kernel-fusion benchmark suite + paper companion. |
| 11 | + |
| 12 | +### Headline results |
| 13 | + |
| 14 | +**Same hardware: Tesla T4** (Acrobot-v1, 500 steps, RK4) |
| 15 | + |
| 16 | +| System | gen/s | vs PyTorch | |
| 17 | +| ---------------------------- | ------: | ---------: | |
| 18 | +| PyTorch CUDA per-step | 0.61 | 1× | |
| 19 | +| Triton fused | 16.4 | 27× | |
| 20 | +| JAX `lax.scan + vmap` | 105.1 | 172× | |
| 21 | +| **Hand-fused CUDA kernel** | **439** | **720×** | |
| 22 | + |
| 23 | +**Same hardware: Apple M2 Pro** (Acrobot-v1, 500 steps, RK4) |
| 24 | + |
| 25 | +| System | gen/s | vs PyTorch | |
| 26 | +| ----------------------------- | -------: | ---------: | |
| 27 | +| PyTorch MPS per-step | 2.52 | 1× | |
| 28 | +| wgpu-native fused (Metal) | 30.5 | 12× | |
| 29 | +| WebGPU unfused (Chrome) | 62.3 | 25× | |
| 30 | +| **WebGPU fused (Chrome)** | **135.9** | **54×** | |
| 31 | + |
| 32 | +**Financial sim** (M2 Pro, 1500 steps): WebGPU fused **46.2 gen/s** vs |
| 33 | +PyTorch MPS 0.29 — **159× speedup**. |
| 34 | + |
| 35 | +**MountainCar-v0** (M2 Pro, 200 steps, sequential): WebGPU fused 1,258.8 |
| 36 | +vs PyTorch MPS 18.7 — **67× speedup**. |
| 37 | + |
| 38 | +### Added |
| 39 | + |
| 40 | +- **Benchmark harness** (`benchmarks/`) — Rastrigin parallel optimization, |
| 41 | + Acrobot-v1 + MountainCar-v0 sequential RL environments, financial sim, |
| 42 | + N-Body sequential, Monte Carlo Pi, dim-scaling sweep, comprehensive |
| 43 | + multi-platform run, thermal monitoring. |
| 44 | +- **Cross-platform reference baselines** — PyTorch (MPS, CUDA), JAX |
| 45 | + (`lax.scan+vmap`), Triton, NumPy variance, wgpu-native (Rust), all using |
| 46 | + the same workload definitions for apples-to-apples comparison. |
| 47 | +- **Paper companion** (`paper.tex` + `PAPER.md`) — full LaTeX source + |
| 48 | + markdown reading copy. Conclusion: fusion advantage is GPU-API-agnostic |
| 49 | + (4 APIs × 2 hardware platforms verified). |
| 50 | +- **Paper arithmetic tests** (`tests/paper_arithmetic.test.js`, 54 checks) |
| 51 | + — every derived number (ratio, percentage, comparison) in the paper is |
| 52 | + re-derived from the raw tables to catch copy-paste errors and stale |
| 53 | + numbers. Wired into CI. |
| 54 | +- **Live demo** at https://kernelfusion.dev — the research umbrella for |
| 55 | + this and the companion projects. |
| 56 | + |
| 57 | +### Companion projects in the same research line |
| 58 | + |
| 59 | +- [zerotvm.com](https://zerotvm.com) — Phi-3-mini decoding via 10 |
| 60 | + hand-written WGSL kernels (228 dispatches/token, ~40 tok/s on M2 Pro) |
| 61 | +- [webgpu-q](https://webgpu-q.vercel.app) — quantum many-body simulation |
| 62 | + with kernel fusion (4.18× brick-wall fusion, ITensor-validated) |
| 63 | +- [webgpudna.com](https://webgpudna.com) — Geant4-DNA Monte Carlo + |
| 64 | + Karamitros IRT chemistry in the browser |
| 65 | +- [gpubench.dev](https://gpubench.dev) — public WebGPU benchmark harness |
| 66 | + |
| 67 | +[0.1.0]: https://github.com/abgnydn/webgpu-kernel-fusion/releases/tag/v0.1.0 |
0 commit comments