Skip to content

perf(udma): extend grouped alltoall quiet batching - #88

Open
hechangcheng2303 wants to merge 164 commits into
LingquLab:mainfrom
hechangcheng2303:aiv_urma_grouped_alltoall
Open

perf(udma): extend grouped alltoall quiet batching#88
hechangcheng2303 wants to merge 164 commits into
LingquLab:mainfrom
hechangcheng2303:aiv_urma_grouped_alltoall

Conversation

@hechangcheng2303

Copy link
Copy Markdown
Contributor

Summary

  • extend grouped UDMA alltoall quiet batching
  • include grouped alltoall UDMA scaling, routing, and supporting fixes/docs from this branch

Verification

  • PR creation only; no local build/test run in this step

linzhen 00654177 added 30 commits June 18, 2026 10:58
Add testType 7 for the UDMA all-to-all bigdata demo, including the host-side launch path, registered buffer layout, staged kernel flow, and profiling controls for stage timing.
Use three cores per peer for copy/send/recv roles in the bigdata all-to-all demo. Add ping-pong relay buffers for local GM-UB-GM copies, MTE flag synchronization for copy/ack control, and explicit kernel-loop token generation for UDMA buffer reuse across host-side repeated launches.

Update the bigdata layout plan and source guards to cover the new control layout, profile stages, and UDMA cache clean fixes.
Use the 35-core bigdata all-to-all path for multi-node ranks and optional forced 8P testing. Allocate a 1024 MiB registered UDMA buffer with fixed 8 MiB send/recv peer slots per pass so the multi-node kernel does not reuse pingpong data slots internally.

Keep the single-node bigdata path on the existing pingpong layout and update the demo launcher plus layout guards for the new offsets, worker roles, and topology checks.
- Add multi-route UDMA queue layout with per-QP route weights and explicit EID selection.

- Create peer queues across selected local and remote EIDs, preserving default single-route behavior.

- Expose QP-specific device UDMA helpers and weighted slicing for diagnostics.

- Shrink multinode bigdata registered windows for small payloads and cover the layout changes with unit tests.
Use 35-core multinode bigdata scheduling with expanded control slots and per-core fanout flags to reduce shared flag contention.

Route recv-side cross-card ack publication through UDMA signal while keeping local synchronization on MTE, and skip the slot reuse ack wait in the 35-core path after validation showed it caused repeat>1 hangs.

Update UDMA layout/source guard tests for the new control layout and transport registration limit.
- Update source-guard expectations for the rebased multinode bigdata sync tuning.

- Keep the followup 128-byte control slot and 32 control shard layout unchanged.
Checkpoint the current remote-put-only experiment with 64-core 32+32 send scheduling and per-segment tail flag completion checks before returning to the previously validated 16p mteack path.
Return remote-put-only scheduling to the previously validated flat 64-core send-task path with secondary tail completion checking after the 32+32 tail-flag experiment stalled in 64p testing.
Restore the validated remote-put-only performance path by removing the tail-flag polling and peer ack checks from the flat 64-core send-task flow. The 16p loop=1 8MiB/peer validation passes again without timeout debug statuses.
Publish IPC ready tokens after UDMA quiet for remote-put-only sends and make check workers wait for both remote segments before exchanging ACKs. Treat incomplete remote-put-only debug status as a fatal demo error and update layout guards.
Add a Python one-click runner that syncs local TileXR sources to remote hosts, builds the UDMA demo, runs warmup and measured alltoall launches, records host wall time, and summarizes per-rank operator latency. Cover size parsing, host selection, metric parsing, summary statistics, and remote tool environment inference.
@Kur0x
Kur0x requested review from Kur0x and chaowick August 5, 2026 03:29
@ChinaLinZhen
ChinaLinZhen force-pushed the aiv_urma_grouped_alltoall branch from 53f7a91 to b4f03a5 Compare August 13, 2026 13:23
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