Conversation
6 of 8 tasks
ghazni101
force-pushed
the
fix/serve-decode-tok-s
branch
from
October 2, 2026 21:56
a2419cd to
0bf9a8e
Compare
Contributor
Author
|
Empirical evidence (gfx1101, ROCm/HIP 7.15 container, Multi-slot route (daemon reports only Standard route (daemon reports real decode_tok_s) — unchanged:
|
added 3 commits
October 3, 2026 08:39
`(b >> 2j) & 0x3 <= 3` is always true; clippy's deny-level bad_bit_mask stopped `cargo clippy --all-targets` at hipfire-quantize. Pin the block geometry instead.
The no-GPU CI runner has no /opt/rocm/core-10.0, so peacemaker-ir's codec gates panicked in the lib-test step and 14 hipfire-isa integration tests in the GPU-free step. Follow the existing table-gate convention: skip with a log line when llvm-mc is absent; the gates still run where it exists.
clippy's deny-by-default mut_from_ref stopped `cargo clippy --all-targets` at hipfire-xdna once hipfire-quantize compiled. Bo is a cloneable handle to one shared mapping, so &mut self would not prevent aliasing; exclusivity is the documented caller contract. Same fix as a1ac7f4 on feat/qwen38-flash-next.
completion_timings fell back from decode_tok_s to the wall-inclusive tok_s when the former was absent. The slots route reports only decode_tok_s, so the fallback only ever fired there — and on AR/noslots requests it surfaced the prefill-inclusive wall rate AS the decode rate (~3x low on gfx1101 multi-slot). Clients that want the wall number still get it under hipfire.tok_s.
ghazni101
force-pushed
the
fix/serve-decode-tok-s
branch
from
October 3, 2026 13:51
c3f723f to
bef97d5
Compare
`(b >> 2j) & 0x3 <= 3` is always true; clippy's deny-level bad_bit_mask stopped `cargo clippy --all-targets` at hipfire-quantize. Pin the block geometry instead.
The no-GPU CI runner has no /opt/rocm/core-10.0, so peacemaker-ir's codec gates panicked in the lib-test step and 15 hipfire-isa integration tests in the GPU-free step. Follow the existing table-gate convention: skip with a log line when llvm-mc is absent; the gates still run where it exists.
clippy's deny-by-default mut_from_ref stopped `cargo clippy --all-targets` at hipfire-xdna once hipfire-quantize compiled. Bo is a cloneable handle to one shared mapping, so &mut self would not prevent aliasing; exclusivity is the documented caller contract. Same fix as a1ac7f4 on feat/qwen38-flash-next.
…ad lifecycle a31e438 (land/041t) grew crates/hipfire-daemon/src/main.rs to 5392 lines without moving the ceiling, so beta's own gates job fails. The 15 lines are no_model_loaded_suffix (an admitted single-device/pp load failure now says the prior model is gone) and its unit test. RATCHET-RAISE: daemon_lines 5377 -> 5392, traded for the Flash-Next unload-first load lifecycle (a31e438) that fixes the FN<->VMM swap refusal and names the missing model on admitted-load failure
…ilure suffix helper out of main.rs land/041t + land/041u grew daemon main.rs to 5392 against the 5377 ceiling, leaving beta's own gates job red for every branch based on its head. Raising the ceiling needs the maintainer-only 'ratchet-raise' label, so pay the debt instead: no_model_loaded_suffix and its test move to request_guards (the module whose charter is exactly 'small load/generate message helpers kept out of main.rs'), semantics untouched — main.rs lands at 5372. Also refreshes the stale crate maps (engine/generate/quantize/cli/config/daemon).
… (main.rs is back under it)
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.
Summary
completion_timingsno longer falls back to the wall-inclusivetok_swhendecode_tok_sis absent.Which surface(s) does this touch?
crates/hipfire-cli/src/serve(gateway)Problem
The slots route reports only
decode_tok_s, so the.or_else(tok_s)fallback only ever fired on routes that lacked it — and there it surfaced the prefill-inclusive wall rate AS the decode rate (~3× low measured on gfx1101 multi-slot). Clients wanting the wall number still get it underhipfire.tok_s.Test plan
cargo test -p hipfire-cli— 304/304;completion_timings_*tests passscripts/check-crate-maps.py --check,scripts/leanup-ratchets.shgreenOne-liner + comment; extracted from
feat/serve-chat-ui-v040(commit 4b8c1dc).