Repository navigation
HRX: pin hrx-system to the held-pin backport carrying #409, #410 and #401 - #423
Merged
Merged
Conversation
added 2 commits
October 16, 2026 00:49
…401 The hold stays: this is 1bit/held-98d05d94-3fixes, a branch off the held 98d05d94 carrying the three verified fixes plus the +61/-0 api.h port the regenerated passthrough stubs need. The held AMD core is unchanged, so the ROCm/hrx-system#1535 long-context question is untouched. tools/check_pins.py: 98d05d94...3319e5361 is ahead 4, behind 0. The long-prompt record is updated because tests/hrx_long_prompt.py passed against a build at this pin (7082-token prompt, expected 7341, got 7341).
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
This was referenced Oct 16, 2026
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.
Moves
third_party/hrx-systemto1bit/held-98d05d94-3fixesso three verified fixes reach the engine without moving the held AMD core.Why a backport line
config/hrx-system-hold.configkeeps the engine on98d05d94because AMD's hrx-system after it miscompiles long-context attention (ROCm/hrx-system#1535). Three open issues have fixes that are entirely independent of that AMD-core question:hipModuleLoadDataon a truncated code object no longer segfaults)e_shoffsweep, CTShip_module_execution_test3/3libhip_interceptcovers every symbol the backend exports (331 → 544,comm -23 == 0), the documentedHIP_PASSTHROUGH_INTERCEPTORworks, init is idempotentLD_PRELOADagainst stock ROCm 7.16/dev/accel/accel0in GPU-only processes, withHRX_ENABLE_XDNA=1as the escape hatchfuser//proc/<pid>/fd/mapsbefore and after on strixhaloWaiting for the hold lift would block all three on a 1688-commit core jump and an unresolved long-context question. So the hold now names a branch off the same held commit,
1bit/held-98d05d94-3fixes, which carries exactly those fixes plus the +61/−0api.hforward-port the regenerated passthrough stubs need (that block is the measured drift cost; without itstubs_generated.cfails withunknown type name 'HIP_LAUNCH_CONFIG').The held AMD core is unchanged, so #1535 stays exactly where it was. When these fixes are rebased onto
1bit/main— or the hold is lifted — this line is dropped.What moves
third_party/hrx-system:98d05d94a9f9→3319e536196b99119f30f78b60f39a340aee6a5d. GitHub's compare API says ahead 4, behind 0, which is whattools/check_pins.pyrequires.config/hrx-system-hold.config: names the new commit and records why the line exists and when it goes away.config/hrx-long-prompt-validated-pin.config: updated to the new pin only aftertests/hrx_long_prompt.pypassed against a build at it (see below).docs/hrx.md: documents the backport line beside the hold.third_party/llama.cppis untouched (ad18320a).Verification
Built with
-DONEBIT_HRX=ONat exactly this pair (engine main31091dc,third_party/llama.cppad18320a2955736d62b6e2b39908aeed6a2b5cd9,third_party/hrx-system3319e536196b99119f30f78b60f39a340aee6a5d), toolchain/home/bcloud/sdk-gfx1201-devel, on gfx1151/Strix Halo. Build exit 0. Numbers are contended (load ~10, other agents resident) and labelled as such.hrx/llama/bin/{llama-server,llama-bench,test-backend-ops}and1bitproducedtests/hrx_long_prompt.py)7082-token prompt: expected 7341, got '7341', exit 0, Tctl 49→55 C. Server argv is exactly what1bit serve --device hrxbuilds (llama-server -m Qwen3-0.6B-Q4_K_M.gguf -ngl 99 -dev HRX0 -c 8192 --jinja, fingerprintb1-ad18320)test-backend-ops -b HRX0)Backend HRX0: OK, 0 failuresret=0; 64-byte truncationret=200, process exit 0, no SIGSEGV (was SIGSEGV/139)comm -23between the R1-built backend's 540 HIP exports andlibhip_intercept's 544 defined symbols = 0 (was 331 of 540 covered)llama-serverandtest-backend-opshold 0/dev/accel/accel0fds;fuser -v /dev/accel/accel0never lists themOne finding worth reading before you trust the pin gate
tests/hrx_long_prompt.pyused to sendenable_thinking: falseat the top level, which llama-server no longer honours. On this pin the probe therefore spent its whole 16-token budget on reasoning and returned an empty answer — i.e. the gate could only fail, for a reason unrelated to the pin, and the previously recorded98d05d94validation cannot have exercised this code path either. PR #399 fixes the probe to sendchat_template_kwargs(as every other engine caller already does) and is merged here as7a7361a; the PASS above is the first honest run of that gate at either pin. This PR's validated-pin record rests on that run.Notes for the reviewer
1bit/main; the four commits are the three fixes plus the header port, and the only hand-written code among them is the additiveapi.hblock.