msluszniak commited on
Commit
31b06b1
·
verified ·
1 Parent(s): 2a1b25d

perf(coreml): run decode on the CPU, not the Neural Engine

Browse files

decode is a single-token program whose cost on device is dispatch rather than arithmetic, so it was paying Neural Engine overhead on every call under ExecuTorch's ALL default. Pinning only decode to CPU_ONLY (encode stays on ALL) measures 6.7 ms/step against 20.0 on an iPhone 16.

On 14.5s of real speech the whole transcribe is 1.5-3.1x faster depending on size, with a byte-identical transcript: this removes overhead, it does not change numerics.

Exported from export-scripts MR !18, built on main pins (ExecuTorch 1.4.1). Replaces an ExecuTorch 1.2.0 build of the same change; transcripts verified byte-identical on device at all six sizes.

coreml/whisper_base_coreml_fp16.pte CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:bca691be960c96fc873e94433c6b96a2f8571845515d95a4b83a72e63b4c9a71
3
- size 146289914
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bb7416a12983589c35b81f60f2b784839177b6131ec8d394d5728e0975b573e2
3
+ size 146289018