Skip to content

unsloth: pin ggml-org#27941, #152 and #154 - #163

Merged
danielhanchen merged 4 commits into
masterfrom
unsloth/pin-more
Aug 31, 2026
Merged

unsloth: pin ggml-org#27941, #152 and #154#163
danielhanchen merged 4 commits into
masterfrom
unsloth/pin-more

Conversation

@danielhanchen

Copy link
Copy Markdown
Member

Overview

Adds three pins: ggml-org#27941, #152 and #154.

pin commit note
ggml-org#27941 02eb201d no longer a draft, MERGEABLE upstream. Replaces the stale 8161d117 that closed PR #148 carried
#152 258345ef merges onto b10708 on its own
#154 31e432e7 merges onto b10708 on its own

#137 needs no change. It is already pinned at 4e1865e3, which is still its head.

Why ggml-org#27941 matters here

It fixes four qwen4exp correctness defects, and it is the only account of the one Flash-Next reporter the unified-memory work could not explain: edsonmedina, who says "I only use Vulkan", where Studio never sets the allocator variable. Two of the defects need no AMD involvement at all:

  • sequence copies lost their indexer keys, so a copied sequence kept the destination stream's stale keys. Silently wrong output, reachable through the OpenAI n parameter.
  • blocks were keyed on position alone, correct only for a single sequence, so under --kv-unified a block could be pooled from another sequence's cells.

So Flash-Next gibberish has two independent causes stacked on one model, which is why the workarounds in that thread contradict each other. The AMD pins fix one of them; this fixes the other.

#142 and #144 are deliberately NOT pinned

Both conflict against b10708 on src/llama.cpp and src/llama-model-loader.cpp, and it is a real semantic conflict rather than a textual one. Upstream folded lazy_mode and model_shared into a lazy struct:

b10708:  ml.lazy.mode    = params.lazy_mode;
#142:    ml.tensor_read_lazy = params.tensor_read_lazy;  ml.model_shared = params.model_shared;
#144:    ml.lazy_mode        = params.lazy_mode;         ml.model_shared = params.model_shared;

Both branches predate that refactor. Pinning them as they stand would fail the resolve and take every pin after them down with it, since the preflight stops at the first conflict. They need rebasing onto current upstream first, which is a code change in MTP paths and wants its own review rather than being smuggled through a pin update.

Verification

Each new pin was merged onto b10708 individually before being listed:

#152    ok   9 files changed, 306 insertions(+), 25 deletions(-)
#154    ok   7 files changed, 249 insertions(+), 20 deletions(-)
#27941  ok   6 files changed, 505 insertions(+), 138 deletions(-)

The full chain is left to the preflight, which resolves some overlaps with additive_merge.py and is the authority; a plain git merge replay is not equivalent.

ggml-org#27941 at 02eb201, no longer a draft and MERGEABLE upstream. It fixes
four qwen4exp correctness defects and is the only account of the Flash-Next
reporter who is on Vulkan only, where the allocator variable is never set. The
previous pin PR #148 carried the stale 8161d11 and is closed.

#152 at 258345e and #154 at 31e432e both merge onto b10708 on their own.

#137 is already pinned at 4e1865e, which is still its head, so no change.

#142 and #144 are NOT pinned here: both predate an upstream refactor that folded
lazy_mode and model_shared into a lazy struct, so they conflict on src/llama.cpp
and src/llama-model-loader.cpp against b10708. b10708 has 'ml.lazy.mode =
params.lazy_mode' where those branches still write 'ml.lazy_mode' and
'ml.model_shared'. They need rebasing onto current upstream before they can be
pinned; pinning them now would fail the resolve.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 31, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-08-31T10:09:47.297728Z 7387fae PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

danielhanchen added 3 commits August 31, 2026 10:53
The PR moved on at 10:44Z, after 02eb201 was pinned. Verified to merge onto the
current base tag: 6 files changed, 480 insertions, 138 deletions.
#144 rebased onto b10709 at 6fc8df1. Two of its nine commits were dropped
rather than carried: 'qwen4exp: fix QSA correctness defects and harden metadata
loading' and the comment tidy on top of it. That work is what ggml-org#27941
supersedes, and keeping both copies is what made the two pins conflict in
llama-kv-cells.h and llama-memory-hybrid-idx.cpp. Listed after ggml-org#27941 so the
upstream version of that work lands first.

#142 is deliberately NOT pinned: its single commit is byte-identical to #144's
c7bd6f2 apart from the lazy API spelling, so #144 already contains it and
pinning both would apply the same change twice.

Verified: b10709 + ggml-org#27941 + #144 merges clean, 24 files, +612/-94.
The PR moved on at 10:39Z; 5796547 was pinned by #159 earlier today. Verified
to merge onto b10709: 44 files changed, 2673 insertions, 38 deletions.

Every entry in the set is now at its PR's current head.
@danielhanchen
danielhanchen merged commit 0a0f5f5 into master Aug 31, 2026
0 of 5 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