Reject non-finite values in the native HRX numerical comparator
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 423
- Forks
- 53
- Avg merge
- 20h 26m
- Merged PRs (30d)
- 310
Description
Row: BACKEND-ROCM
The pinned AMD llama.cpp HRX test comparator accepts NaN as numerically close. tests/test-hrx-ops.cpp:636 rejects only diff > allowed; abs(NaN) makes that comparison false. The #3083 sequential Qwen attention regression therefore returned exit 0 while all three decode outputs reported HRX NaN and finite CPU values.
The BACKEND-ROCM operator and #3083 implementer own the in-flow correction in .agents/specs/rocm-hrx-prefill-repair-3083.md. Require finite actual and expected values before applying the unchanged upstream absolute and relative tolerances. Re-run the same immutable sequential fixture and retain its nonzero result before any runtime repair.
The original false-pass evidence is retained in /home/vikash/vllm.cpp-hrx-evaluation/build-hrx-evaluation/native-prefill-repaired-decode-numerics. The test ELF was d52fe52e80be01901f709ea141d833f03955791162b2ad5427122c8d32ef47e6; the backend and #3081 Loom provider were unchanged. At the first decode, HRX returned NaN and CPU returned approximately -0.00393766. Prefill output had passed the finite numerical comparison.
Scope is the test comparator and its evidence. This issue does not claim to repair the separately diagnosed runtime source of NaN. The #3083 pull request will carry this correction and close this issue when it lands.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at tests/test-hrx-ops.cpp:636 and read the comparator around the existing absolute and relative tolerance checks. Re-run the immutable sequential Qwen attention fixture from .agents/specs/rocm-hrx-prefill-repair-3083.md, using the retained evidence as context. Done means non-finite HRX or expected values produce a nonzero result while finite comparisons retain the upstream tolerances.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend, testing-qa
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100