Releases: Phantasm0009/accel-gpu
Releases · Phantasm0009/accel-gpu
v1.0.2
v1.0.1
accel-gpu v1.0.1
Fixed
- WebGL matmul output indexing bug (output texture coordinates now mapped correctly)
- Restored strict cross-backend matmul consistency in browser tests
Added
- Backend consistency tests for matmul, inv, ft, conv2d
- Memory stress tests for gpu.tidy(...) and gpu.scoped(...)
- Canonical error-message validation tests
- Bundle-size smoke checks with CI enforcement
- Backend tolerance and debugging guide
Changed
- Standardized validation errors across linear, matrix, conv, and FFT paths
- Updated roadmap/changelog/docs for post-1.0 hardening completion
v1.0.0
accel-gpu 1.0.0
Production-ready major release with hardened memory management, improved type safety, and fully unified docs/navigation experience.
Highlights
- Memory management hardened:
gpu.tidy(...)now preserves returned arrays and disposes intermediates correctly- Nested tidy scope retention supported
FinalizationRegistryfallback cleanup remains in place
- TypeScript shape safety (opt-in):
- Generic
GPUArray<Shape>patterns - Shape-aware overloads for
matmul,dot, andtranspose
- Generic
- Unified docs/site UX:
- VitePress docs as the main GitHub Pages landing experience
- Consistent themed navigation across landing, guides, demos, playground, and benchmarks
- Added dedicated memory management guide
- Packaging and tree-shaking:
sideEffects: false- Subpath exports (
math,linalg,ml,signal,data)
Validation
- Build + DTS generation passing
- Unit tests passing
- Docs build and site artifact generation passing
Notes
- Tag:
v1.0.0 - Source of release notes: latest changelog + production hardening updates
v0.2.11
Highlights
- Added opt-in TypeScript shape safety using generic
GPUArray<Shape>patterns. - Improved compile-time ergonomics with shape-aware overloads for
matmul,dot, andtranspose. - Fixed GitHub Pages docs routing by ensuring VitePress output is included in deploy artifacts.
- Refreshed docs presentation for a cleaner, more structured experience.
Added
- TypeScript Shape Safety
- Generic shape aliases and typed context array creation paths
- Shape-aware overloads for key linear algebra ops
- Docs Styling Enhancements
- Custom VitePress theme styles
- Cleaner home, quick start, and API page structure
Changed
- Pages Build Pipeline
build:sitenow runs docs build and packages docs routes intodeploy//guide/quickstartnow resolves correctly on GitHub Pages
- Docs UX
- Improved nav/sidebar grouping, footer, and local search configuration
Validation
- Build and type declaration generation passing
- Unit tests passing
- Package published as
accel-gpu@0.2.11
Upgrade Notes
- No breaking runtime API changes.
- Shape typing is opt-in and backward compatible with existing usage.
v0.2.10
Highlights
- Added raw binary ingestion with
fromBuffer(...)andgpu.fromBuffer(...)forArrayBufferandSharedArrayBufferinputs. - Introduced a dedicated VitePress documentation scaffold under
docs/. - Migrated long-form README API content to focused docs pages and kept README concise.
Added
- Data Interop
fromBuffer(...)helpergpu.fromBuffer(...)context API- Validation for byte alignment, offsets, and length bounds
- Documentation
- VitePress config and starter pages (
Overview,Quick Start,API) - Embedded playground/example iframes in docs pages
- VitePress config and starter pages (
- Testing & CI
- Cross-browser Playwright coverage (Chromium, Firefox, WebKit)
- Browser-test workflow in GitHub Actions
Changed
- Improved package modularity and tree-shaking ergonomics:
sideEffects: false- Subpath exports:
accel-gpu/math,accel-gpu/linalg,accel-gpu/ml,accel-gpu/signal,accel-gpu/data
- Added/validated memory-safety primitives:
gpu.tidy(fn)scoped disposal aliasFinalizationRegistrybest-effort cleanup fallback
- README refocused to link out to the docs site for full API details.
Validation
- Unit tests passing
- Cross-browser Playwright suite passing
- Docs build passing
Upgrade Notes
- No breaking API changes.
0.2.10is a patch release focused on DX, packaging clarity, docs structure, and ingestion performance paths.
v0.2.9
Patch release after published v0.2.8 lock. Includes latest docs/demo/package updates.
v0.2.8
Changelog
All notable changes to accel-gpu will be documented in this file.
The format is based on Keep a Changelog.
[0.2.8] - 2026-03-03
Added
- WebGPU kernels —
conv2d,maxPool2d,avgPool2dnow dispatch on WebGPU backend - WebGPU FFT kernels —
fft(),ifft(), andfftMagnitude()now use GPU compute on WebGPU backend - GPU matrix ops —
inv(),qr(), andsvd()now use iterative WebGPU paths on WebGPU backend - CPU worker path (experimental) —
init({ forceCPU: true, worker: true }) - CPU WASM path (experimental) —
init({ forceCPU: true, preferWasmCPU: true, wasmModule }) - Runtime backend flags —
gpu.workerEnabled,gpu.cpuEngine - Scoped lifecycle API —
gpu.scoped(fn)for deterministic disposal of temporary arrays - Training helpers —
gradients(...)(numerical gradients) andsgdStep(...) - Arrow interop — Apache Arrow-like vector/column import via
fromArrow(...)andgpu.fromArrow(...) - Killer app demos —
example/audio(local audio spectrogram) andexample/vector-search(browser-native vector search) - Interactive docs playground — embedded playground on landing page
Changed
conv2d, pooling, and FFT ops keep existing CPU/WebGL behavior as fallback while using WebGPU when available- Updated docs and site examples for worker/WASM init options and accelerated op coverage
- Added troubleshooting guidance:
/.well-known/appspecific/com.chrome.devtools.json404 and304asset responses in local dev server logs are expected and harmless - Added automatic scalar-chain fusion optimization for
add/sub/mul/divbefore buffer materialization - Added
FinalizationRegistrybest-effort cleanup for leaked arrays
[0.2.7] - 2025-03-02
Changed
- Re-publish with docs and site updates
[0.2.6] - 2025-03-01
Added
- Reductions —
variance(),std(),argmax(),argmin() - Axis-specific reductions —
sum(axis?),mean(axis?),max(axis?) - Activations —
gelu(),leakyRelu(alpha) - Comparison —
equal(),greater(),less(),clamp(min, max) - Slicing —
slice(),get(),set(),concat(),split() - Shape —
flatten(),squeeze(),unsqueeze(),broadcast() - Memory —
dispose(),isDisposed,toArraySync()(CPU only) - Matrix ops —
inv(),det(),solve(),qr(),svd()(CPU) - ML —
maxPool2d,avgPool2d,conv2d,batchNorm,normalize() - FFT & signal —
fft(),ifft(),fftMagnitude(),spectrogram() - Other —
norm(),outer(),mse(),crossEntropy() - Profiling —
enableProfiling(),recordOp(),getProfilingResults(),init({ profiling: true })
[0.2.5] - 2025-03-01
Added
- JSDoc — Full documentation for public API (
init,InitOptions,AccelContext,GPUArray, and all ops) - ESLint + Prettier — Lint and format scripts; consistent code style
- Vitest — Test suite replacing
scripts/test.mjs;npm testruns Vitest - Dependabot — Weekly dependency updates for npm and GitHub Actions
- Bundlephobia badge — Package size badge in README
- Package icon —
icon.pngfor docs and README
Changed
- ESLint flat config (no
--ext); Prettier formats allsrc/**/*.ts - README includes icon and Bundlephobia badge; favicon in docs
[0.2.0] - 2025-03-01
Added
- WebGL2 fallback — Full WebGL2 backend when WebGPU unavailable (Safari, Firefox, older Chrome)
- Shape inference —
matmul(gpu, A, B)infers M, N, K from array shapes - Method chaining —
a.add(b).mul(2)returnsthisfor chaining (await each step) - reshape() — Reshape arrays with shape metadata
- CPU fallback — Automatic fallback when WebGPU/WebGL unavailable (Node, headless)
- Buffer pooling — Reuse GPUBuffers for better performance
- fromImageData() / toCanvas() — Canvas integration for image processing
- layerNorm — Layer normalization kernel for transformers
- attentionScores — Q @ K^T / sqrt(dim) for attention
- Clear error messages — Descriptive errors with shape info
- Benchmark page — Compare WebGPU vs WebGL vs CPU performance
- Playground — Interactive code editor
- forceCPU init option — Force CPU backend for testing
- forceWebGL init option — Force WebGL2 backend for testing
Changed
- Package renamed from
@accel/gputoaccel-gpu init()now uses WebGPU → WebGL2 → CPU fallback chainmatmul,softmax,transposesupport shape inference from array metadata
[0.1.0] - Initial Release
- Core API:
init(),gpu.array(),toArray() - Math ops:
add,mul,sum,max - Linear algebra:
matmul,dot,transpose - ML:
softmax - WebGPU backend