-
Notifications
You must be signed in to change notification settings - Fork 249
CollectiveX: add FlashInfer one-sided NVLink EP for the GB SKUs / CollectiveX:为 GB SKU 新增 FlashInfer 单边 NVLink EP 后端 #2450
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
29 commits
Select commit
Hold shift + click to select a range
98ef7f6
CollectiveX: label backend maturity and correct the low-latency docs
Oseltamivir 9423456
CollectiveX: add FlashInfer one-sided NVLink EP for the GB SKUs
Oseltamivir 893e304
CollectiveX: give the FlashInfer communicator the whole CommBackend c…
Oseltamivir 81efeae
CollectiveX: dispatch routing metadata so the FlashInfer oracle views…
Oseltamivir 3ff418a
CollectiveX: complete the FlashInfer oracle view (local masking + exp…
Oseltamivir 2f53134
CollectiveX: shape the FlashInfer combine scatter from the actual rec…
Oseltamivir 4237e23
CollectiveX: model FlashInfer's BF16 combine accumulation instead of …
Oseltamivir fbadba6
CollectiveX: model FlashInfer's truncating BF16 conversion; revert bf…
Oseltamivir 2319638
CollectiveX: truncate only where the kernel converts, not where the a…
Oseltamivir 8799ba0
CollectiveX: sum the combine expectation in the same canonical order …
Oseltamivir 33cd01b
CollectiveX: revert the canonical-ordering change (measured no-op)
Oseltamivir f4454ce
CollectiveX: reproduce FlashInfer's per-slot tree combine from the ke…
Oseltamivir 27dfba1
CollectiveX: revert the per-slot tree combine model (measured no-op)
Oseltamivir 78e6ad3
CollectiveX: build the expected per-rank message with the same functi…
Oseltamivir 5e06578
CollectiveX: revert the shared _expert_transform expectation (measure…
Oseltamivir badb8a3
CollectiveX: drop the truncating output model for flashinfer-ep
Oseltamivir 0d9d66f
CollectiveX: stage the flashinfer combine in place, not through a fre…
Oseltamivir 19f0049
CollectiveX: submit the flashinfer combine payload from the workspace…
Oseltamivir 4a34895
CollectiveX: model FlashInfer's payload-dtype combine reduction
Oseltamivir 6e7d2fa
CollectiveX: tighten the flashinfer wheel probe and stage docstring
Oseltamivir 92c7d0c
Merge remote-tracking branch 'origin/main' into collectivex-flashinfe…
Oseltamivir c12fdeb
CollectiveX: document FlashInfer EP and its payload-dtype combine
Oseltamivir 0bef5e9
CollectiveX: drop the disproven truncating-store model
Oseltamivir 6d05435
CollectiveX: run the unit tests on every PR
Oseltamivir 49d25ec
CollectiveX: note the slot-tree oracle's memory scaling
Oseltamivir 7d7c344
CollectiveX: resolve review — untimed routing cast, ready_for_review …
Oseltamivir 944a1f7
Merge remote-tracking branch 'origin/main' into collectivex-flashinfe…
Oseltamivir 2675377
CollectiveX: re-sync the run_ep parser mirror and guard it against drift
Oseltamivir 7e4e4c9
Merge remote-tracking branch 'origin/main' into collectivex-flashinfe…
Oseltamivir File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,50 @@ | ||
| name: Test CollectiveX | ||
|
|
||
| # The sweep exercises the benchmark on real hardware, but nothing ran CollectiveX's own | ||
| # unit tests, so the oracle contracts they pin were unverified on every PR. Torch is | ||
| # installed CPU-only: the torch-dependent tests are combine-oracle arithmetic checks that | ||
| # never touch a device, and without it they skip silently rather than fail. | ||
|
|
||
| on: | ||
| pull_request: | ||
| # ready_for_review is not in the default set (opened/synchronize/reopened), so without | ||
| # it a PR developed as a draft has every run skipped by the draft gate below and gets | ||
| # no run at all on the transition — the suite would never see the merge candidate. | ||
| types: [opened, synchronize, reopened, ready_for_review] | ||
| paths: | ||
| - 'experimental/CollectiveX/**' | ||
| - '.github/workflows/test-collectivex.yml' | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| test: | ||
| if: github.event.pull_request.draft != true | ||
|
Oseltamivir marked this conversation as resolved.
|
||
| runs-on: ubuntu-latest | ||
| permissions: | ||
| contents: read | ||
|
|
||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | ||
|
|
||
| - name: Set up Python | ||
| uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | ||
| with: | ||
| python-version: '3.12' | ||
|
|
||
| - name: Install dependencies | ||
| run: | | ||
| python -m pip install --upgrade pip | ||
| pip install --index-url https://download.pytorch.org/whl/cpu torch | ||
|
|
||
| # Every skip in this suite is torch-gated, so a missing torch turns the oracle | ||
| # checks into silent passes. Fail here instead, where the cause is obvious. | ||
| - name: Verify torch is importable | ||
| run: python -c "import torch; print(torch.__version__)" | ||
|
|
||
| - name: Run unit tests | ||
| run: | | ||
| cd experimental/CollectiveX | ||
| python -m unittest discover -s tests -p "test_*.py" -v | ||
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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.