Skip to content

Blog: milestone - the HRX decode race is solved (#123, #140) - #182

Merged
bong-water-water-bong merged 1 commit into
mainfrom
blog-hrx-race-solved
Sep 28, 2026
Merged

bong-water-water-bong merged 1 commit into
mainfrom
blog-hrx-race-solved

Conversation

@bong-water-water-bong

Copy link
Copy Markdown
Collaborator

Milestone post for the #123/#140 fix, plus README status and PORTING row.

🤖 Generated with Claude Code

…and PORTING status

The decode-split q8 pack read global output behind an LDS-only barrier; fixed in
llama.cpp 00adc2b (#176), kernel on by default again (#178), multipass vectorised
(#180). Recap: architecture gaps closed (323 HF architectures mapped), GGUF on the
NPU (#179). Every number from docs/hrx.md, docs/registry.md, docs/npu.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@context7

context7 Bot commented Sep 28, 2026

Copy link
Copy Markdown

Docs7 for 1bit-monster/engine

Result Status Action
Deployment ➖ Not used —
Content review ➖ Did not run. This site has no agent runs available this month. Wait for the monthly reset or check your Docs7 plan. —

Commit 54fe30e

@github-actions

Copy link
Copy Markdown

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

🎫 Ticket compliance analysis 🔶

123 - Partially compliant

Compliant requirements:

  • The PR addresses the root cause by changing the barrier type from kernel.barrier<workgroup> to kernel.barrier<global> at the critical points where global memory stores are followed by global memory loads
  • The fix ensures that the decode-split kernel no longer faults with HSA_STATUS_ERROR_MEMORY_FAULT
  • The fix makes the decode deterministic, resolving the intermittent faults and wrong outputs

Non-compliant requirements:

  • The PR does not include specific measurements or performance benchmarks to validate the fix's effectiveness

Requires further human verification:

  • The effectiveness of the fix should be verified through testing on actual hardware with the specified conditions (e.g., forced KFD queue evictions)

140 - Partially compliant

Compliant requirements:

  • The PR addresses the race condition by ensuring proper memory ordering with global barriers
  • The fix ensures deterministic outputs for identical requests
  • The fix resolves the issue where the same run could produce different outputs

Non-compliant requirements:

  • The PR does not include specific measurements or performance benchmarks to validate the fix's effectiveness

Requires further human verification:

  • The effectiveness of the fix should be verified through testing on actual hardware with the specified conditions (e.g., forced KFD queue evictions)

176 - Partially compliant

Compliant requirements:

  • The PR pins llama.cpp to 00adc2b, bringing the necessary fixes
  • The fix ensures that the kernel is on by default and working correctly
  • The PR includes the necessary changes to the kernel barriers to fix the race condition

Non-compliant requirements:

  • The PR does not include specific measurements or performance benchmarks to validate the fix's effectiveness

Requires further human verification:

  • The effectiveness of the fix should be verified through testing on actual hardware with the specified conditions (e.g., forced KFD queue evictions)
⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Documentation Clarity

The blog post mentions that the fix involves changing barriers from kernel.barrier<workgroup> to kernel.barrier<global>, but does not clearly explain the implications of this change for the memory ordering and how it prevents the race condition. This could be confusing for readers trying to understand the technical details.

those system settings. For a while it looked like a page-migration bug, but migration was only
the trigger. The fix fences both memory spaces at all five places the kernel does this:
`barrier<global>`, then `barrier<workgroup>`
([docs/hrx.md](../docs/hrx.md#moe-router-expert-id-fault-fix-engine123)).

@bong-water-water-bong
bong-water-water-bong merged commit e062105 into main Sep 28, 2026
11 checks passed
@bong-water-water-bong
bong-water-water-bong deleted the blog-hrx-race-solved branch September 28, 2026 02:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant