Skip to content

UCT/D2P: Multi-channel support with per-EP DPA address and RING_DB flag - #11701

Merged
ofirfarjun7 merged 1 commit into
openucx:masterfrom
Artemy-Mellanox:topic/d2p
Aug 2, 2026
Merged

ofirfarjun7 merged 1 commit into
openucx:masterfrom
Artemy-Mellanox:topic/d2p

Conversation

@Artemy-Mellanox

Copy link
Copy Markdown
Contributor

Replace qp_idx with ep_dpa_addr in descriptor so the DPA poster can locate the per-channel QP from the EP's DPA heap base plus channel index. Add UCT_IB_D2P_FLAG_RING_DB so the GPU controls doorbell ringing per-op based on UCT_DEVICE_FLAG_NODELAY. Split gpu_ep into per-channel and per-EP structs; pass channel_id through the device API dispatch.

Replace qp_idx with ep_dpa_addr in descriptor so the DPA poster can
locate the per-channel QP from the EP's DPA heap base plus channel index.
Add UCT_IB_D2P_FLAG_RING_DB so the GPU controls doorbell ringing per-op
based on UCT_DEVICE_FLAG_NODELAY. Split gpu_ep into per-channel and
per-EP structs; pass channel_id through the device API dispatch.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
0, comp == nullptr ? 0 : UCT_IB_D2P_FLAG_CQ_UPDATE);
uint16_t desc_flags = (comp != nullptr ? UCT_IB_D2P_FLAG_CQ_UPDATE : 0) |
(flags & UCT_DEVICE_FLAG_NODELAY ?
UCT_IB_D2P_FLAG_RING_DB :

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NEXT PR: Maybe we can remove this translation and just use UCT_DEVICE_FLAG_NODELAY?


desc->opcode = opcode;
desc->length = length;
desc->ep_idx = ep->ep_idx;

@ofirfarjun7 ofirfarjun7 Aug 2, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NEXT PR: ep_idx confused me, maybe we can come up with better name?

@ofirfarjun7
ofirfarjun7 merged commit 1ce08f6 into openucx:master Aug 2, 2026
161 checks passed
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.

2 participants