Prefer WASM on firefox cause WebGPU is incredibly slow there.

This commit is contained in:
Lucas Winther committed 2026-07-17 16:35:49 +02:00
1 parent 74858f63fc
commit f6019b3a42
7 files changed
+486 -27

No files matched your search

+7 -1
View File
@@ -118,7 +118,13 @@ are the remaining M5 work; see `WorkBreakdown.md`.)
`navigator.ml` (WebNN) first, then `navigator.gpu?.requestAdapter()` (WebGPU),
and picks in priority order WebNN → WebGPU → WASM; if pipeline creation on the
picked device throws, it retries down the same chain (WASM always last). An
explicit `"webnn"`/`"webgpu"` preference falls back straight to WASM. It then
explicit `"webnn"`/`"webgpu"` preference falls back straight to WASM.
Two D-025 refinements: WebGPU is skipped up front when the dtype it would
use needs fp16 but the adapter lacks `shader-f16` (Firefox), and a WASM
fallback *after* a failed accelerator attempt does not run in-place — the
failed attempt pinned ort's thread pool at 1 — but posts `load-restart`,
and the UI respawns the worker with an explicit `wasm` load (transcribe
posts wait on a ready gate in `App.tsx`, so none are lost). It then
resolves the catalog's dtype default for the device actually used and creates
the Transformers.js `automatic-speech-recognition` pipeline.
Download progress events are forwarded to the UI; the terminal