Skip to content

[stage CI] 240 at 08490ff - #19

Closed
LeoBorcherding wants to merge 5 commits into
night-shift-tester/240-stage-basefrom
night-shift-tester/240-stage
Closed

LeoBorcherding wants to merge 5 commits into
night-shift-tester/240-stage-basefrom
night-shift-tester/240-stage

Conversation

@LeoBorcherding

Copy link
Copy Markdown
Owner

CI staging copy of unslothai#240 at 08490ff69 exactly (the author's branch head), based on its merge base with master, 23b0202a1. Nothing is fixed here; review and fixes live on the mirror, #11.

danielhanchen and others added 5 commits October 3, 2026 22:29
MTP heads exported with nextn_shared_target_tensors carry no token_embd
or output, which load_arch_tensors required, so mainline refused them.
For such a head created as an MTP draft, take both from the target the
draft context is created against. ctx_other itself stays unset: for
draft-mtp it means the draft shares the target's memory, which this head
does not. Any other use of such a head fails with a clear error rather
than a null dereference.

Heads converted before upstream MTP support also mark the MTP block dense
(compress ratio 0). graph_mtp built the k-pool input regardless, but the
draft's indexer cache then holds no layer, so the input was never
allocated and the first decode asserted in set_input. Build it only for a
QSA MTP block; build_layer_attn already treats ratio 0 as dense.
A shared MTP draft placed on other devices than the target (for example
--spec-draft-device none or CUDA1) read token_embd/output from target
buffers on devices its context had no backend for, and context creation
aborted. Initialize a backend for every target device the draft context
does not already have.
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.

2 participants