Resources stay bounded
Power checks memory, devices, and queues before execution. It rejects work that cannot fit instead of hiding a fallback.
Run language, vision, OCR, embedding, and audio models inside a Rust process or behind an API. Power handles devices, queues, weights, and execution records without rewriting model logic.
cargo add a3s-power --no-default-features -F embedded-inferencespec_mode = "mtp"Keep target, draft, sampler, and decoder state for seven candidate positions.
Power checks memory, devices, and queues before execution. It rejects work that cannot fit instead of hiding a fallback.
Model, configuration, device, input, and output are bound into one execution receipt that can be checked later.
Clients verify against their own hashes and policy. The server cannot quietly relax the acceptance rules.
Power does not hide performance behind a vague fast-mode switch. Graphs, tensors, speculation, scheduling, and weights are tuned separately, with an exact fallback for every fast path.
Fix the common shapes, reuse CUDA Graphs, then choose Flash Attention and fused kernels for the batch that actually runs.
Merge small calls, pass device-resident results between adjacent graphs, and copy once at the final output.
The draft guesses and the target model checks. Only matching tokens are committed; a mismatch returns to the last correct position.
Queues, continuous batches, and session replicas share one device budget. The host adds GPU priority and CPU affinity.
Read on demand, prefetch, and keep hot weights resident. When cache space runs out, fall back to the original artifact without changing tensor identity.
Run old and new settings in both orders on the same input. Replace the old path only when speed improves, output matches, and quality passes.
Qwen3.8-27B · untouched Q6_K · peak revision da2c1dd · quality revision 64aef15
| Mode | Quality evidence | Request-wide t/s | Steady t/s |
|---|---|---|---|
| Q6_K / AR · 3×100 | 67 / 60 | 23.642 | — |
| Q6_K + MTP / full · 3×100CURRENT | 67 / 58 | 41.035 | — |
| Q6_K + MTP / FR · K7/S6/B11 | Matching digest | — | 174.413 |
174.413 token/s is the median of nine 1,024-token steady-decode runs; the 172.723 minimum does not establish a 175 token/s service floor. MTP was 1.736× faster on the 3×100 quality workload, but strict score moved from 60/100 to 58/100, so it is not a lossless default.
No listener and no child process. Model code uses devices, queues, state, and execution receipts directly.
embedded-inferenceUse an OpenAI-compatible API for chat, completions, embeddings, and model management, with RA-TLS or vsock when needed.
server + backendStream the model, verify size and SHA-256, then commit it once under a cross-process lock.
artifact-provisioningModel crates own topology, tokenization, preprocessing, and quality policy. Power supplies devices, scheduling, integrity, privacy, and verification, so a new model does not require a new runtime core.
See the architecture boundary