Skip to content

compute decouple#109

Merged
chrishayuk merged 12 commits into
mainfrom
compute-refactor
May 20, 2026
Merged

compute decouple#109
chrishayuk merged 12 commits into
mainfrom
compute-refactor

Conversation

@chrishayuk

Copy link
Copy Markdown
Owner

working on decoupling compute, so we can have multuple compute engines

chrishayuk added 11 commits May 18, 2026 01:48
Resolves async_compute_backend/cpu.rs conflict by taking the HEAD
shim — impl lives in larql_compute::async_compute_backend::cpu
post-ADR-0022. Brings in #113 (Windows attention_step_async fix).
…rgence

larql-compute-metal: 4 new tests under StateDumpMask::{Full,HOnly,None}
plus the unmasked wrapper. decode/mod.rs 82.57% -> 93.36% — the debt
baseline added yesterday drops; only trait_impl/mod.rs stays at 87
pending a real Q4_K vindex fixture for the hybrid attention body
(synthetic Q4_K bytes null-ptr in decode_attention_layer).

larql-server: temporary diagnostic on the 6 OK||500 completions
tests — strict assert_eq!(status, OK) + body capture via diag_capture.
On macOS aarch64 + Linux x86_64 (Docker/Rosetta) all 12 tests pass
with real responses; CI Ubuntu shows completions.rs at 70.34% line
coverage vs 86.85% local with identical test outcomes. Strict
assertions + body dump in next CI run will surface what the success
path looks like on real x86_64 Ubuntu. Revert after the divergence is
identified.
…time

Root cause of the Ubuntu CI vs macOS divergence on completions.rs
(70.34% CI / 86.85% local): the `completions_*_returns_200` tests
asserted `OK || is_server_error()` on `resp.status()` without draining
the response body. axum builds the JSON body lazily via
`into_response()`, so on Ubuntu llvm-cov the buffered handler's
serialisation tail never ran — ~54 lines of the OK branch in
completions.rs stayed uncovered. macOS happened to run them eagerly,
masking the issue locally.

Fixed by `capture_completion(resp) -> (StatusCode, String)` — drains
into a `String` so the response serialisation always runs, then
tightening the asserts to strict `StatusCode::OK`. Same 12 tests, now
consistent across platforms: completions.rs reports 86.85% everywhere.

No synthetic-Q4K generation regression existed; the Linux Docker run
(synthetic_vindex_generates_at_least_one_token) confirms generation
produces finite logits. Investigation note retained in the policy file.

Server policy baseline ratcheted back 70 → 86 (the value the file
actually clears now).
@chrishayuk
chrishayuk merged commit bc22345 into main May 20, 2026
40 of 43 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant