fix: default distributions to automatic GPU support with CPU fallback

This commit is contained in:
karl committed 2026-10-12 21:42:31 +02:00
1 parent d9336db1d5
commit 0fcc8ec21c
9 files changed
+43 -15

No files matched your search

+8
View File
@@ -86,6 +86,14 @@ search starts a model process; the desktop retains a prewarmed query worker.
## Cross-compilation and native release matrix
Normal distribution worker builds and staging default to `auto`: Metal on
macOS, Vulkan on Windows/Linux, with CPU fallback in the same application.
Users do not choose a CPU/GPU edition or rebuild for their graphics card.
Windows/Linux build machines need the Vulkan SDK including `glslc`; absence
fails release preparation instead of quietly generating a CPU-only runtime.
The compilation SDK is not an end-user requirement. Explicit `--backend cpu`
commands in the VM development sections are internal test configurations.
The shared Rust engine/service has no GUI dependency. Install a destination
Rust target with `rustup target add TARGET`, then build using
`cargo build -p searchi-cli --target TARGET --locked`. This also requires the
+4
View File
@@ -49,6 +49,10 @@ Status: implementation started; no production release yet. Windows VM tests use
- [ ] Isolated extraction workers with timeouts and resource ceilings.
## 5. Release gates
- [x] Normal worker build/staging defaults to hardware-detecting auto with CPU
fallback; missing Vulkan/glslc fails configuration rather than hiding GPU loss.
- [ ] Provision release-build GPU SDKs and verify one hardware-detecting package
per OS/architecture, including missing-driver fallback and dependency closure.
- [x] Windows desktop archive packager includes explicit runtime/helper files
and notices, checks architecture and records per-file checksums; excludes
model caches and user data. Controlled packaging regression tests pass.
+8 -1
View File
@@ -33,6 +33,13 @@ an external OpenMP runtime. Production CMake supports cpu, auto, metal, vulkan,
and cuda; CPU builds force GPU flags off. Runtime/provider parity and packaging
on other operating systems remain independent release checks.
The normal build/staging default is `auto`, shipping GPU support together with
CPU fallback: Metal on macOS, Vulkan on Windows/Linux. Runtime detection chooses
the usable device; users do not need hardware-specific builds. Release builders
must have the relevant compilation SDK. Missing Vulkan/glslc now fails the
normal build rather than silently omitting acceleration. Actual GPU parity,
loader/dependency packaging and no-driver CPU fallback still require evidence.
| Artifact | Bytes | SHA256 |
| --- | ---: | --- |
| embeddinggemma-2-Q8_0.gguf | 309,855,456 | 2188ac1deca4b77dffefd603c2776a9d76d9d74ec01841392982ebb840b09135 |
@@ -264,4 +271,4 @@ point-localization failures and unsuppressed no-answer results. Strong file
recall is insufficient for accurate spoken-topic navigation. A ten-second audio
experiment reduces some distances but does not close that gate; it is not a
new default. Quality policies must be validated on held-out data rather than
inventing thresholds from the evaluation corpus.
inventing thresholds from the evaluation corpus.
+9 -2
View File
@@ -11,8 +11,15 @@ The Windows archive packager has two controlled Python regressions: complete
required file collection with checksum verification and user-settings exclusion,
and mismatched worker architecture preserving the previous archive. Both pass.
An actual CPU-only Tauri embedded-frontend Release build has been started;
archive creation, native launch outside the source tree and clean-machine
installation remain unverified until its completion and separate checks.
the embedded-frontend Release application build completed in 7m 25s. CPU-only
describes its VM test context, not a supported end-user edition. The normal
worker build/staging defaults are now auto and require GPU compilation support
alongside CPU fallback. The previously staged CPU worker remains an internal
test artifact; archive creation, automatic-runtime dependency packaging, native
launch outside the source tree and clean-machine installation remain unverified.
Actual `auto` configuration correctly rejected this VM's missing Vulkan library,
headers and `glslc`; no GPU-capable worker/package is claimed. Both staging
regressions still pass using explicit internal CPU test configuration.
Offline staging now verifies the native license and every bundled Google asset
before modifying resources. Two Python regressions verify missing-model rejection