diff --git a/docs/Decisions.md b/docs/Decisions.md index 9008a54..5aa8acb 100644 --- a/docs/Decisions.md +++ b/docs/Decisions.md @@ -1252,3 +1252,43 @@ pipeline's wav2vec2/CTC path) plus `ParakeetFeatureExtractor`. There is no TDT/RNN-T (transducer) decoder or joint-network loop anywhere in the package, so **Parakeet TDT 0.6B v3 is not supported natively**; per the spec, that path uses `parakeet.js`. + +## D-WS1d — WebGPU-side effects of the 4.3.2 upgrade: inspected, not measured (needs the owner's browser check) +**Status:** Open — inspection only (2026-10-29) +This machine has no GPU and no browser WebGPU, so D-022, D-025 and D-026 +cannot be re-measured here. What the upgrade changes on that side, from the +4.3.0–4.3.2 release notes and a 4.2.0↔4.3.2 source diff: +- **onnxruntime-web 1.26.0-dev.20260416 → 1.31.0-dev.20260914.** Five minor + versions of WebGPU EP work land at once. The WebGPU bundle still uses the + same `ort-wasm-simd-threaded.asyncify` binary pair (now 26.9 MB, was + 23.6 MB — a one-time re-download, evicted correctly because the SW cache + version hashes the worker bundle, which embeds the ort version). The JS + layer still has no Firefox/Gecko or Safari special-casing, and still + checks `shader-f16` / `isFallbackAdapter` as before. +- **Safari 26+ WebGPU (Transformers.js 4.3.0, PR 1700).** The upstream change + only alters which binary Transformers.js picks for its jsDelivr default + (`IS_SAFARI` → `IS_SAFARI_BELOW_26`). This app overrides `wasmPaths` with + `./ort/`, so it never used that default; whether WebGPU is attempted on + Safari is decided by the worker's own probe (`navigator.gpu`, D-017/D-025), + unchanged. +- **Whisper / ASR pipeline / streamers:** no functional change (comment + edits, `processor.batch_decode` → `tokenizer.batch_decode` on a + non-Whisper path, one `transpose` → `permute` rename). "Fix Whisper + progress callbacks" and "fix duplicate model file downloads when + `progress_callback` is active" (4.3.0) are in the file-loading path: + download progress may look different, and a duplicate fetch is avoided. +- **Session/dtype selection (`session.js`, `dtypes.js`):** unchanged apart + from no longer exporting two constants. +**Needs the owner's browser check** (decisions stay as they are until then): +1. **Large v3 Turbo on WebGPU (the owner's setup):** load and transcribe + `tests/audio_files/en_aiproblem.m4a`; compare wall-clock with the 4.2.0 + build and confirm the text is sane (fp16 encoder + q4 decoder, D-022 + scope note). +2. **D-026:** Firefox with Backend = WebGPU explicitly selected — still far + slower than WASM? If it is now at parity, drop the Firefox UA check. +3. **D-022:** medium stays q4 on WebGPU/WebNN. A retest of the fp16 + conversions is only worth doing if the owner wants medium faster on GPU. +4. **D-025:** Firefox "auto" lands on multithreaded WASM (footer shows + "WASM (on-device, N threads)" with N > 1). +5. **Safari 26 (macOS/iOS):** what the footer reports for "auto"; if WebGPU, + check speed and output. diff --git a/docs/plans/001-1-transformers-upgrade.md b/docs/plans/001-1-transformers-upgrade.md index 978a5fa..25d5424 100644 --- a/docs/plans/001-1-transformers-upgrade.md +++ b/docs/plans/001-1-transformers-upgrade.md @@ -109,9 +109,9 @@ onnxruntime-node 1.30.0), bun:test. ### Task 4: WebGPU-affecting changes (D-022, D-025/D-026) — inspection only -- [ ] **Step 1:** Read 4.3.0/4.3.1/4.3.2 release notes and diff 4.2.0↔4.3.2 `src/` for +- [x] **Step 1:** Read 4.3.0/4.3.1/4.3.2 release notes and diff 4.2.0↔4.3.2 `src/` for WebGPU/fp16/Firefox/Safari changes; check ort-web 1.31 dist for Gecko/fp16 handling. -- [ ] **Step 2:** `D-WS1d` listing each item as "needs owner's browser check" with what to try +- [x] **Step 2:** `D-WS1d` listing each item as "needs owner's browser check" with what to try (explicit WebGPU on Firefox for D-026; medium fp16 for D-022; Safari 26 WebGPU). No code change. Commit.