Skip to content

v0.10.0 — layer-granularity compute trace, saner defaults

Choose a tag to compare

@Helldez Helldez released this 19 Jul 07:37

Highlights

Layer-granularity compute trace (--compute-trace-layers PATH, #65). The per-node trace pays ~3000 barriers per token, which serializes the graph against the expert stream — on a model that streams heavily it mostly measures its own serialization (Qwen3-30B: 9.4 s/token traced vs 0.39 untraced), so its absolutes cannot be compared across models. Layer granularity isolates only the first node of each layer (~n_layer barriers per token): operator coalescing and the async expert prefetch survive, the traced numbers stay close to an untraced run, and models can be compared head-to-head per layer with major faults attributed per segment. scripts/decode-analyze.py compute detects the granularity and prints the per-segment table; see docs/telemetry.md.

Reviewed defaults (#71). n_predict now defaults to 128 on every surface (core, CLI, app — previously 32/32/48): the old budgets truncated most answers mid-sentence, which reads as broken rather than slow. The app''s expert cache defaults to a fixed 2000 MiB instead of Auto: predictable and reproducible across runs, with Auto still selectable in Settings. Existing installs keep their saved preferences — only fresh installs see the new defaults.

Install

Sideload app-dev-release.apk. It is signed with the project''s stable key, so it installs over a previous stable-signed release in place. Updating over an older debug-signed install still needs a one-time uninstall (Android refuses a signature change); after that, updates install cleanly.

Full changelog: https://github.com/Helldez/BigMoeOnEdge/blob/main/CHANGELOG.md