Repository navigation
[PD] Add is_dummy truth-table wire tests for mooncake and nixl - #34977
ShangmingCai merged 2 commits into
Conversation
|
Local macOS CPU run at eeb5e65: |
|
@jambow0320 these truth-table tests pin the mooncake and nixl TransferInfo parsing your Step 1 aligns around, and they land independently of #35281 in either order (parsing is untouched there, per my review). They have been blocked on the run-ci label for a week with 74/74 passing locally. If you have the permissions or can route the request, could you get run-ci applied here? #34486 is waiting on the same label. |
Item 1 from the open-question-3 review on sgl-project#33861: the is_dummy truth table had no coverage of the frames the senders actually write. The two existing nixl cases omit msg[9], so the explicit is_dummy frame the sender writes is never parsed in any test, and mooncake's payload inference (kv and aux frames both empty) had no coverage at all. nixl: five TransferInfo cases with sender-faithful frames covering the explicit-frame branch (dummy, dummy with a decode-side prefix hit, full prefix hit, real transfer) plus one fallback case documenting that without msg[9] a prefix-hit dummy parses as real, which is the case the explicit frame exists for. mooncake: a truth-table class with frames built as KVSender writes them (kv and aux empty iff dummy, state gated on dummy, decode_prefix_len unconditional): real, full prefix hit, dummy, dummy with prefix hit. Both files are already registered in CPU CI; no new files and no new registrations. Part of the Step 0/1 test surface for sgl-project#34510.
eeb5e65 to
0ed1eb2
Compare
|
/rerun-test test/registered/unit/disaggregation/test_nixl_backend_basic.py |
|
|
/rerun-test test/registered/unit/disaggregation/test_nixl_backend_basic.py |
|
Results for 🚀 |
Motivation
Item 1 from the open-question-3 review on #33861 (#33861 (comment)): the
is_dummytruth table for mooncake and nixl has no coverage of the frames the senders actually write. The two existing nixl cases omitmsg[9], so the explicitis_dummyframe the sender writes is never parsed in any test, and mooncake's payload inference (kv and aux frames both empty) has no coverage at all. Additive and independent of the hoisting work; part of the Step 0/1 test surface for #34510.Modifications
test_nixl_backend_basic.py: fiveTransferInfocases with sender-faithful frames covering the explicit-frame branch — dummy, dummy with a decode-side prefix hit (the case payload inference cannot see, sincedecode_prefix_lenis sent unconditionally), full prefix hit, real transfer — plus one fallback case documenting that withoutmsg[9]a prefix-hit dummy parses as real, which is the case the explicit frame exists for.test_disaggregation_wire.py:TestMooncakeTransferInfoIsDummy, four cases with frames built as mooncake'sKVSenderwrites them (kv and aux empty iff dummy, state indices gated on dummy,decode_prefix_lenandrequired_dst_info_numunconditional): real, full prefix hit, dummy, dummy with prefix hit. Also asserts the dummy branch clearsdst_kv_indices/dst_aux_index/dst_state_indices.Both files are already registered in CPU CI (
base-a-test-cpu); no new files and no new registrations.Accuracy Tests
Not applicable (CPU wire-format unit tests only; no model or kernel changes).
Speed Tests and Profiling
Not applicable.
Checklist
CI States
Latest PR Test (Base): ❌ Run #34564801848
Latest PR Test (Extra): ❌ Run #34564801775
Latest PR Test (AMD ROCm 10): ❌ Run #34564801893