Skip to content

Releases: Phantasm0009/accel-gpu

v1.0.2

05 Mar 03:35

Choose a tag to compare

accel-gpu v1.0.2

Fixed

  • WebKit browser backend consistency failure for WebGL matmul
  • Hardened shader indexing with integer coordinate paths for stable cross-browser output

Result

  • Backend consistency tests now pass reliably across Chromium, Firefox, and WebKit

v1.0.1

04 Mar 22:03

Choose a tag to compare

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

04 Mar 20:31

Choose a tag to compare

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
    • FinalizationRegistry fallback cleanup remains in place
  • TypeScript shape safety (opt-in):
    • Generic GPUArray<Shape> patterns
    • Shape-aware overloads for matmul, dot, and transpose
  • 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

03 Mar 20:04

Choose a tag to compare

Highlights

  • Added opt-in TypeScript shape safety using generic GPUArray<Shape> patterns.
  • Improved compile-time ergonomics with shape-aware overloads for matmul, dot, and transpose.
  • 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:site now runs docs build and packages docs routes into deploy/
    • /guide/quickstart now 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

03 Mar 19:47

Choose a tag to compare

Highlights

  • Added raw binary ingestion with fromBuffer(...) and gpu.fromBuffer(...) for ArrayBuffer and SharedArrayBuffer inputs.
  • 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(...) helper
    • gpu.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
  • 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 alias
    • FinalizationRegistry best-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.10 is a patch release focused on DX, packaging clarity, docs structure, and ingestion performance paths.

v0.2.9

03 Mar 18:30

Choose a tag to compare

Patch release after published v0.2.8 lock. Includes latest docs/demo/package updates.

v0.2.8

03 Mar 18:27

Choose a tag to compare

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 kernelsconv2d, maxPool2d, avgPool2d now dispatch on WebGPU backend
  • WebGPU FFT kernelsfft(), ifft(), and fftMagnitude() now use GPU compute on WebGPU backend
  • GPU matrix opsinv(), qr(), and svd() 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 flagsgpu.workerEnabled, gpu.cpuEngine
  • Scoped lifecycle APIgpu.scoped(fn) for deterministic disposal of temporary arrays
  • Training helpersgradients(...) (numerical gradients) and sgdStep(...)
  • Arrow interop — Apache Arrow-like vector/column import via fromArrow(...) and gpu.fromArrow(...)
  • Killer app demosexample/audio (local audio spectrogram) and example/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.json 404 and 304 asset responses in local dev server logs are expected and harmless
  • Added automatic scalar-chain fusion optimization for add/sub/mul/div before buffer materialization
  • Added FinalizationRegistry best-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

  • Reductionsvariance(), std(), argmax(), argmin()
  • Axis-specific reductionssum(axis?), mean(axis?), max(axis?)
  • Activationsgelu(), leakyRelu(alpha)
  • Comparisonequal(), greater(), less(), clamp(min, max)
  • Slicingslice(), get(), set(), concat(), split()
  • Shapeflatten(), squeeze(), unsqueeze(), broadcast()
  • Memorydispose(), isDisposed, toArraySync() (CPU only)
  • Matrix opsinv(), det(), solve(), qr(), svd() (CPU)
  • MLmaxPool2d, avgPool2d, conv2d, batchNorm, normalize()
  • FFT & signalfft(), ifft(), fftMagnitude(), spectrogram()
  • Othernorm(), outer(), mse(), crossEntropy()
  • ProfilingenableProfiling(), 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 test runs Vitest
  • Dependabot — Weekly dependency updates for npm and GitHub Actions
  • Bundlephobia badge — Package size badge in README
  • Package iconicon.png for docs and README

Changed

  • ESLint flat config (no --ext); Prettier formats all src/**/*.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 inferencematmul(gpu, A, B) infers M, N, K from array shapes
  • Method chaininga.add(b).mul(2) returns this for 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/gpu to accel-gpu
  • init() now uses WebGPU → WebGL2 → CPU fallback chain
  • matmul, softmax, transpose support 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