Commit Graph
100 Commits
Author SHA1 Message Date
fzyzcjy 1368717248 Add more testing for chunked prefill (#27506) 2026-06-09 20:19:30 +08:00
fzyzcjy 609f5f549c Add mixed-prefix gsm8k eval and its CPU unit test (#27502) 2026-06-09 20:17:41 +08:00
fzyzcjy 71a0b10462 Fix the _chunked_req_scheduled_last_iter flag with a content-based stash gate (#26938) 2026-06-08 14:55:41 +08:00
fzyzcjy f746e4a608 Fix fill_len asymmetric assignment statement in ignore-eos branch (#26999) 2026-06-08 14:53:21 +08:00
fzyzcjy 9034c2f9ae Fix Req fill_len (fill_ids) having dual semantics by restricting to truncated/committed semantics (#26659) 2026-06-08 14:52:48 +08:00
fzyzcjy 259a2da3e0 Refactor Req.fill_ids into full_untruncated_fill_ids + fill_len with equivalence (#26637) 2026-06-08 14:52:18 +08:00
fzyzcjy 4201de11de Extract release_req and retract_all as module-level free functions (#26548) 2026-06-08 14:51:45 +08:00
fzyzcjy 3197808283 Avoid calling filter_batch with chunked_req_to_exclude being things unrelated to chunked reqs (#26547) 2026-06-08 14:51:21 +08:00
fzyzcjy f5fdf9c5d8 Speed up dump comparator percentile computation using numpy (#26874) 2026-06-08 14:50:31 +08:00
fzyzcjy 995e649190 Add parallel-rank dump filenames and pipeline-global layer remapping to dumper (#26850) 2026-06-08 14:49:22 +08:00
fzyzcjy 0a190d1c97 Fix PP is_fully_idle missing in-flight microbatches (#27446) 2026-06-07 17:38:26 +08:00
fzyzcjy 14b8f98a21 Complete server warmup before scripted runtime scripts start (#27445) 2026-06-07 17:37:37 +08:00
fzyzcjy 99cf0a4399 Fix flaky test_self_e2e_pd_perturb (#27426) 2026-06-06 19:31:08 +08:00
fzyzcjy bf4f2ccc78 Add scripted-runtime unit, core integration, and chunked-prefill tests (#27413) 2026-06-06 09:08:35 +08:00
fzyzcjy 5a82db85f0 Add scripted-runtime KV-pool and lock-ref exhauster primitives (#27412) 2026-06-06 09:07:40 +08:00
fzyzcjy dd176387c6 Add scripted-runtime harness core and wire scheduler/IPC hooks (#27411) 2026-06-06 09:07:01 +08:00
fzyzcjy 21201ef718 Add kv_canary PP self-test fixture and SWA divergence coverage (#27410) 2026-06-06 09:06:19 +08:00
fzyzcjy 8cea0473ea Fix dp-attention token alignment in the dumper comparator e2e test (#26996) 2026-06-02 00:50:45 -07:00
fzyzcjy f220c72929 Add periodic KV-canary stats logging and kernel-run-counter health check (#26821) 2026-05-31 10:00:19 +08:00
fzyzcjy 7dd19ae3d8 Add a sliding-window-attention divergence reporter for the KV-canary (#26820) 2026-05-31 09:59:28 +08:00
fzyzcjy ae9db7ff4b Add the KV-canary perturb modes and PD-disaggregation e2e tests (#26819) 2026-05-31 09:59:09 +08:00
fzyzcjy 6be4b32d8d Add token-id verification to the KV-canary (#26818) 2026-05-31 09:58:51 +08:00
fzyzcjy 0ca610a6df Add real-data KV verification to the KV-canary (#26817) 2026-05-31 09:58:32 +08:00
fzyzcjy cdee16e144 Add the KV-canary perturb framework for fault-injection self-tests (#26816) 2026-05-31 09:58:14 +08:00
fzyzcjy 678e73a9ee Add a deterministic token oracle and production write-input assertion (#26815) 2026-05-31 09:57:43 +08:00
fzyzcjy 268f4c82f1 Add rids/bootstrap-room int-hash plumbing for deterministic per-request identification (#26814) 2026-05-31 09:57:22 +08:00
fzyzcjy 9c43c3719f Support EAGLE speculative decoding in the KV-canary (#26813) 2026-05-31 09:57:01 +08:00
fzyzcjy 30a22cc360 Add a periodic full-radix-tree KV-canary sweep (#26812) 2026-05-31 09:56:42 +08:00
fzyzcjy 27eb139ef7 Add the KV-canary mock-model end-to-end test harness (#26811) 2026-05-31 09:56:00 +08:00
fzyzcjy e188745ee0 Add KV-canary SWA + DeepSeek-V4 pool support (#26810) 2026-05-31 09:55:34 +08:00
fzyzcjy 9ecf314970 Add the KV-canary install API and forward-path wiring (#26809) 2026-05-31 09:55:03 +08:00
fzyzcjy 11391b2a1c Add the KV-canary core: data layer, MHA KV-pool patcher, and per-forward runner (#26808) 2026-05-31 09:54:24 +08:00
fzyzcjy 736ad1f32a Add the KV-canary plan JIT kernels (#26807) 2026-05-31 09:53:56 +08:00
fzyzcjy 70e983a2da Add the KV-canary write JIT kernel and reference implementation (#26806) 2026-05-31 09:53:34 +08:00
fzyzcjy 16950954c6 Add the KV-canary verify JIT kernel and reference implementation (#26805) 2026-05-31 09:52:52 +08:00
fzyzcjy 8a20c58252 Pull test_utils server-launch boilerplate into reusable helpers (#26804) 2026-05-31 09:52:15 +08:00
fzyzcjy ce647cbcfd Add a SimplePhaseChecker for execution-phase assertions (#26803) 2026-05-31 09:51:39 +08:00
fzyzcjy 7f93952f79 Add a debug toggle for selectively reverting PR fixes (#26802) 2026-05-31 09:50:12 +08:00
fzyzcjy 656e75b798 Add a nullcontext placeholder in the forward path for KV-canary (#26801) 2026-05-31 09:49:32 +08:00
fzyzcjy bad83ab427 Fix the EAGLE chunked-prefill next-token chain (#26329) (#26800) 2026-05-31 09:48:30 +08:00
fzyzcjy 45194794d0 Apply gemma's position offset out-of-place instead of in-place (#26799) 2026-05-31 09:47:50 +08:00
fzyzcjy 13ca55afa3 Make qwen3's set_embed_and_head idempotent (#26798) 2026-05-31 09:47:07 +08:00
fzyzcjy 804f01a823 Allow PR test and lint workflows to trigger on non-main bases (#26721) 2026-05-29 19:22:59 -07:00
fzyzcjy d9c82934c8 Extract Scheduler init methods and add skills to enforce the splitting requirements (#26271) 2026-05-26 17:45:09 +08:00
fzyzcjy b0cf01eb85 Lazy-load speculative-naming via skill instead of always-on rule (#26270) 2026-05-25 15:58:29 +08:00
fzyzcjy 3f0814974c Fix disaggregation bootstrap server lifetime (#25982) 2026-05-22 14:10:57 +08:00
fzyzcjy e4d81e48c9 Pull the max-prefix-len computation into its own helper and rename the matched-token argument (#25728) 2026-05-19 09:27:06 +08:00
fzyzcjy 170fe57cf0 Encapsulate the pending-flush bookkeeping in a small wrapper (#25727) 2026-05-19 09:23:10 +08:00
fzyzcjy 5067da3eb6 Confine req-pool-idx assignment to the pool allocator (#25726) 2026-05-19 09:22:51 +08:00
fzyzcjy 6bcbf4de35 Fix the misnamed request finish-check method to reflect its mutating semantics (#25725) 2026-05-19 09:22:28 +08:00
fzyzcjy 2d2dff28da Return a mamba tracking entry from the cache lookup instead of mutating caller lists (#25724) 2026-05-19 09:21:55 +08:00
fzyzcjy 3fd6a58e6c Inline the single-use split-prefill setup at its caller (#25722) 2026-05-19 09:21:29 +08:00
fzyzcjy 1f3e5aa1e0 Publish elastic-EP active ranks from a dedicated step (#25721) 2026-05-19 09:21:04 +08:00
fzyzcjy fa37b68653 Rename the request mid-chunk flag to describe what it actually tracks (#25720) 2026-05-19 09:20:43 +08:00
fzyzcjy 32f1259c91 Confine max-prefix-len to where it is used and drop the leftover variable (#25719) 2026-05-19 09:20:21 +08:00
fzyzcjy 1cba3ab467 Stop returning the unused prefix-computed flag from priority calc (#25718) 2026-05-19 09:20:00 +08:00
fzyzcjy 2d868656d0 Move the retract-decode ratio estimation onto the new-token-ratio tracker (#25717) 2026-05-19 09:19:42 +08:00
fzyzcjy 1a882c5c63 Pack scattered new-token-ratio state into a dedicated tracker (#25716) 2026-05-19 09:19:20 +08:00
fzyzcjy 954b5c5846 Pack scattered scheduler IPC channel state into a dedicated container (#25714) 2026-05-19 09:19:02 +08:00
fzyzcjy 07b4f262b7 Set up the idle sleeper outside of the IPC channel initialization (#25713) 2026-05-19 09:18:36 +08:00
fzyzcjy 2d40f45193 Pack scattered request logprob state into a dedicated container (#25712) 2026-05-19 09:18:19 +08:00
fzyzcjy fb7e49d4eb Expose can-run-cuda-graph as a regular property on the embedding result (#25711) 2026-05-19 09:18:00 +08:00
fzyzcjy a740f8de33 Remove the dead hasattr fallback around the test-only crash counter (#25710) 2026-05-19 09:17:40 +08:00
fzyzcjy 0e198f0f4f Refactor batch_result_processor into per-step prefill/decode helpers (#25709) 2026-05-19 09:17:17 +08:00
fzyzcjy 7e7cb969e9 Route streaming output through the accumulator's payload method instead of an inline send (#25708) 2026-05-19 09:16:42 +08:00
fzyzcjy da50e3d943 Log per-request time stats in a dedicated tail step (#25707) 2026-05-19 09:16:22 +08:00
fzyzcjy b911fd1673 Route streaming-accept decisions through the accumulator instead of an inline gate (#25706) 2026-05-19 09:15:45 +08:00
fzyzcjy d8f190dfba Pack scattered output-streamer state into a dedicated accumulator (#25705) 2026-05-19 09:14:59 +08:00
fzyzcjy e8e55bb19b Split the request-reception loop into smaller phases (#25703) 2026-05-19 09:12:47 +08:00
fzyzcjy be64d875ad Fix flush_cache AttributeError on is_stats_logging_rank (#25641) 2026-05-18 19:23:48 +08:00
fzyzcjy 8b94e1d0cf Delete the now-unused is_work_request from scheduler.py (#25639) 2026-05-18 18:50:23 +08:00
fzyzcjy c54b34c007 Move module-level helpers out of scheduler.py (#25638) 2026-05-18 18:45:38 +08:00
fzyzcjy 99ad2b0894 Move batch-result processing to SchedulerBatchResultProcessor and retire output_processor mixin (#25637) 2026-05-18 18:45:01 +08:00
fzyzcjy 7d0b0b6991 Carve out SchedulerBatchResultProcessor for batch-result state (#25636) 2026-05-18 18:44:41 +08:00
fzyzcjy 18a7eb9e58 Move output streaming to SchedulerOutputStreamer (#25635) 2026-05-18 18:44:07 +08:00
fzyzcjy dc88b4eeb4 Stand up SchedulerOutputStreamer; migrate output-streaming state to it (#25634) 2026-05-18 18:43:48 +08:00
fzyzcjy 2cbe01d044 Move logprob assembly to SchedulerLogprobResultProcessor (#25633) 2026-05-18 18:43:27 +08:00
fzyzcjy e737f61b29 Introduce SchedulerLogprobResultProcessor to own logprob state (#25632) 2026-05-18 18:42:59 +08:00
fzyzcjy cf12070a0f Move idle-metrics logging to SchedulerMetricsReporter (#25631) 2026-05-18 18:42:34 +08:00
fzyzcjy fd97fbb096 Move metrics reporting to SchedulerMetricsReporter and retire metrics mixin (#25630) 2026-05-18 18:42:08 +08:00
fzyzcjy 780d969699 Add SchedulerMetricsReporter and route metrics state through it (#25629) 2026-05-18 18:41:35 +08:00
fzyzcjy 8357d07569 Move queue-load reporting to SchedulerLoadInquirer (#25628) 2026-05-18 18:41:12 +08:00
fzyzcjy bde932cbbb Carve out SchedulerLoadInquirer for queue-load state (#25627) 2026-05-18 18:40:46 +08:00
fzyzcjy 1213277879 Move KV-cache event emission to SchedulerKvEventsPublisher (#25626) 2026-05-18 18:40:20 +08:00
fzyzcjy 0f888442c2 Stand up SchedulerKvEventsPublisher; migrate KV-event state to it (#25625) 2026-05-18 18:39:50 +08:00
fzyzcjy f3dce08283 Move invariant checks to SchedulerInvariantChecker and retire runtime_checker mixin (#25624) 2026-05-18 18:39:24 +08:00
fzyzcjy 8a200464fd Introduce SchedulerInvariantChecker to own invariant-check state (#25623) 2026-05-18 18:38:57 +08:00
fzyzcjy b463740953 Move create_scheduler_watchdog from runtime_checker mixin to scheduler.py (#25622) 2026-05-18 18:38:26 +08:00
fzyzcjy ee392a1e14 Move pool-stats sampling to SchedulerPoolStatsObserver (#25621) 2026-05-18 18:37:50 +08:00
fzyzcjy 9fdf73f393 Add SchedulerPoolStatsObserver and route pool-stats state through it (#25619) 2026-05-18 18:36:36 +08:00
fzyzcjy c58b47bc86 Move PoolStats dataclass to scheduler_components.pool_stats_observer (#25618) 2026-05-18 18:35:27 +08:00
fzyzcjy 95d86e5c43 Move on_idle from runtime_checker mixin into Scheduler (#25617) 2026-05-18 18:34:58 +08:00
fzyzcjy 7851ba09f7 Move weight-update RPC handlers to SchedulerWeightUpdaterManager (#25616) 2026-05-18 18:34:15 +08:00
fzyzcjy 56f27635b8 Carve out SchedulerWeightUpdaterManager for weight-update state (#25615) 2026-05-18 18:33:48 +08:00
fzyzcjy a35690f070 Move profiler controls to SchedulerProfilerManager (#25614) 2026-05-18 18:33:17 +08:00
fzyzcjy b0a511560c Stand up SchedulerProfilerManager; migrate profiler state to it (#25613) 2026-05-18 18:32:46 +08:00
fzyzcjy 4d6eec7b32 Move DP-attention adapter methods to SchedulerDPAttnAdapter (#25612) 2026-05-18 18:32:16 +08:00
fzyzcjy 8f37a8a3f3 Introduce SchedulerDPAttnAdapter to own DP-attention state (#25611) 2026-05-18 18:31:45 +08:00
fzyzcjy 0e9eab19a9 Move request-ingress methods to SchedulerRequestReceiver (#25610) 2026-05-18 18:31:17 +08:00
fzyzcjy e6f3dcd790 Add SchedulerRequestReceiver and route request-ingress state through it (#25609) 2026-05-18 18:30:43 +08:00