Skip to content

apr on GPU: refuse by name before OOM, never fall back to CPU silently #5325

Open
1 of 8 issues completed

Description

@noahgift

Scope: What apr does when the GPU path cannot run: silent CPU fallback, refusing only after a full CPU rerun, OOM instead of a pre-flight refusal, session headroom that doubles context, effective-config misreporting residency, and ladder/receipt fields that hide which backend ran.

Why it matters: A user who asked for GPU must know whether the GPU ran. A silent fallback turns a GPU defect into a slow success that no gate sees.

Done when: Every GPU verb either runs on GPU or exits non-zero with a named refusal before allocating, and the JSON receipt names the backend that ran; tested on the model ladder.

Epic: #3994. Folded under triage rule 7b (2026-10-14): each row below was its own issue, closed as not planned and kept here as a sub-ticket. Reopen an issue when its work starts or its PR opens.

Sub-tickets

Activity

  1. added this to the 0.71.0 milestone on Oct 14, 2026
  2. added
    bugSomething isn't working
    P1High priority
    on Oct 14, 2026
  3. modified the milestones: 0.71.0, 0.72.0, 0.73.0 on Oct 14, 2026
  4. noahgift commented on Oct 22, 2026

    @noahgift
    MemberAuthor

    Tracked in #3999 (triage 2026-10-22).

  5. noahgift commented on Oct 29, 2026

    @noahgift
    MemberAuthor

    Shipped in aprender v0.72.2 (crates.io 2026-10-29T23:11Z, tag v0.72.2 = 350f0ad).

    Child #4977 (dense GGUF CUDA-init fallback silent in text mode): fixed by #6506 (a44cafe, Refs #4977). The CPU-fallback line now prints in text mode, not only behind --verbose, with a source-scan test. #4977 is already closed.

    Still open: the remaining 7 sub-issues of this refuse-by-name-before-OOM tracker. Progress: 1/8 done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High prioritybugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions