Skip to content

[II] Gather paired DCP projections behind one barrier - #342

Closed
voipmonitor wants to merge 1 commit into
agent/ii-b12x-dcp16-world-sizefrom
agent/ii-b12x-paired-gather
Closed

voipmonitor wants to merge 1 commit into
agent/ii-b12x-dcp16-world-sizefrom
agent/ii-b12x-paired-gather

Conversation

@voipmonitor

Copy link
Copy Markdown

Status

Qualified.

Behavior

dcp_b12x_all_gather_pair gathers two contiguous rank-local projection rows through one B12X IPC synchronization epoch. FP16, BF16, FP32, and FP8 E4M3 rows are accepted when each row occupies a multiple of 16 bytes.

Unsupported shapes, dtypes, capacities, alignments, world sizes, or B12X availability use two exact process-group gathers in the original tensor order.

Technical reason

Decode pipelines often gather a latent projection and a router projection together. Separate collectives pay two system-scope barrier epochs even though both tensors have the same batch and process group. B12X already exposes a paired gather that shares the barrier.

Compatibility

The public helper has an exact fallback and does not change existing single-tensor gather behavior. The change depends on the DCP16 dispatch guard in #338. B12X DcpAllToAllPool.all_gather_pair already provides the transport primitive.

Validation

  • Ruff formatting and checks pass.
  • git diff --check passes.
  • Focused tests cover TP16/DCP16 paired dispatch, mixed BF16/FP32 rows, 16-byte alignment rejection, exact fallback ordering, and DCP16 warmup.

@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (1)
  • dev/*

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: de5f10c9-3b9d-441e-857a-ff8c3898d0df

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Expose a vLLM binding for B12X DcpAllToAllPool.all_gather_pair. Two contiguous rank-local projection rows share one IPC synchronization epoch when their row widths satisfy the 16-byte transport contract.

Unsupported dtypes, shapes, capacities, alignments, or transports use two exact process-group gathers in input order.

Validation: Ruff format/check and git diff --check pass. Focused tests cover DCP16 paired dispatch, mixed BF16/FP32 rows, alignment rejection, exact fallback ordering, and DCP16 warmup.
@voipmonitor
voipmonitor force-pushed the agent/ii-b12x-paired-gather branch from adb9582 to 2846390 Compare August 15, 2026 20:19
@voipmonitor

Copy link
Copy Markdown
Author

The behavior implemented by this pull request is preserved in vLLM #384 as commit 810bbc807dc1. The stable patch ID differs because the paired gather returns the caller-owned output created by the consolidated gather path. The consolidated range-diff retains the pull request contract. Review and merge #384; this pull request is closed to avoid duplicate review.

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.

1 participant