Repository navigation
Release acceptance fixes: desktop commit-memory reserve, bundled edge0-infer, model docs - #193
Merged
Merged
Conversation
The Windows release package puts Edge0 Chat.exe and edge0-infer.exe in the same folder, yet a first start stopped at "No edge0-infer executable is configured" until the path was entered by hand. Reading the settings now fills an empty executable with the edge0-infer next to the app's own executable when it is there; a path the user set is kept, and without that file nothing changes.
The sidebar names the device from /status, but the app polled /status only on the Status and Service pages, so after loading a model it showed "device unknown" until one of those pages was opened.
Replace the coming-soon placeholders with the four Hugging Face repositories, add Edge0-145B and Edge0-120B badges after the ModelScope badges, and use the README.md Edge0-120B scores (51.3 / 75.3) in the translations and the model page.
… memory On a GPU that shares system memory (Windows on RTX Spark), the engine's automatic expert cache fills the free VRAM, which Windows charges to the commit limit. Edge0 145B then left ~0.5 GB of commit free and the first generation could crash with an out-of-memory error. A load now waits for the committed memory to stay steady for 3 s. When less than 10 GiB is free, the engine is reloaded with --strata-arg --vram-reserve-mib covering the shortfall (at most twice); the reserve is remembered per model in memory-reserve.json. A model whose reload frees no commit memory is not reloaded again. Below 8 GiB the UI shows a warning, and an engine that dies mid-generation reports the likely cause. Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Fixes found while accepting the 0.2.0 Windows arm64 release on an RTX Spark (N1X) machine.
Desktop app: keep enough commit memory for generation (
b1fac34)On a GPU that shares system memory, Windows charges VRAM allocations to the commit limit (RAM + page file). edge0-strata's
--expert-cache autofills the free VRAM, so the official Edge0 145B Q3K left ~0.5 GB of commit free after loading on a 128 GB machine (66.5 GB visible to Windows, 102.5 GB commit limit). The first request commits ~6.5 GB more, and the engine crashed with an out-of-memory error. It worked only after retries, when a dying engine still held VRAM at start-up and the new cache came out ~9 GB smaller.Without changing the engine or the machine, the app now:
--strata-arg --vram-reserve-mib Nsized to the shortfall (at most twice, up to 24 GiB), and remembers N per model inmemory-reserve.jsonso later loads start with it;Only models run by edge0-strata get the reserve; macOS has no commit limit and skips the check. A smaller cache drops the least used experts: an engine that started with ~9 GB less cache decoded at 34.4 tok/s against 34.1–34.7 tok/s with a full one.
Desktop app (
cfe48bd,11d9abd): use theedge0-inferbeside the app when no executable is set; read the engine status once a model is loaded so the sidebar names the device.Docs (
2b735d6,57d6840): link the Edge0 145B and 120B Hugging Face repositories; drop the stalestart.sh/model-bench.jsonnote.Area
edge0-infer/)edge0-infer/tools/assets/)edge0-infer/examples/)docs/)How was it tested?
cargo testinedge0-infer/examples/desktop/src-tauri(28 passed, including the reserve sizing and per-model memory tests),npm test(214 passed),tsc --noEmit.tauri build) succeeds. The crash and its cause were reproduced and measured there (commit limit, per-process GPU memory, Resource-Exhaustion-Detector events). Loading the official Edge0 145B Q3K with the reload is being tested on that machine now; results will be added here.Checklist
ctest --preset cpu -L "L0|L1"passes locally inedge0-infer/(engine changes)edge0-infer/docs/testing.md)