fix(deepseek): keep decode metadata host-shared - #180
Closed
high-cloud wants to merge 1 commit into
Closed
high-cloud wants to merge 1 commit into
high-cloud wants to merge 1 commit into
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
high-cloud
force-pushed
the
stabilize-dsv4-decode-step-latency
branch
from
August 23, 2026 16:01
c7e90fe to
5236765
Compare
This was referenced Aug 23, 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.
Summary
Remove the fused MTP-1 decode metadata path that serialized every ping-pong slot behind the previous dispatch.
The current main branch materializes otherwise dynamic block metadata as device-resident buffers, copies it outside the dispatch, and waits for a global metadata predecessor before the next update. Under GBS32 this collapses the intended depth-two pipeline into an approximately 198 ms cadence. This change restores the
TaskArgs-owned host-shared ping-pong metadata and passes those buffers directly to the fused decode program.It also copies MTP initialization pools from each allocation base. The current
DistributedWorker.copy_tocontract reconstructs ownership from the allocation base and does not accept an interior row pointer.The previously proposed write-only output residency and two-slot materialization are already present on
main; this rewritten PR contains only the remaining Serving-side fixes.Runtime dependencies:
Current upstream PyPTO wheel-build prerequisite for Serving NPU CI: hw-native-sys/pypto#2491.
Tracking issue: #179. This PR intentionally does not close it because a low-frequency random-rank completion/fence tail remains under investigation.
Changes
TaskArgsping-pong slot.Verification
python -m pytest tests/unit/model/deepseek/test_model_components.py -q:84 passed.0.058/0.201 ms; runner-to-validate gap max0.067 ms; validate max3.499 ms.8192/8192output tokens returned19.189 s; throughput426.909 tok/s; effective TPOT74.957 ms0.069/0.096/0.281/1.089 ms; no >5 ms late starts0.017/0.052 ms0.182/0.227 msSeven of 143 profiled steps still had runner-end skew above 5 ms (maximum
7.420 ms), on changing physical devices. The acceptance run disabled device-phase markers, so it establishes that these tails remain insiderunner_run, but does not by itself attribute every one tonative_fence_wait.