Skip to content

Add bulk-buffer registration leases for IBGDA (#3414) - #3414

Open
snarayankh wants to merge 4 commits into
meta-pytorch:mainfrom
snarayankh:export-D114554503
Open

Add bulk-buffer registration leases for IBGDA (#3414)#3414
snarayankh wants to merge 4 commits into
meta-pytorch:mainfrom
snarayankh:export-D114554503

Conversation

@snarayankh

@snarayankh snarayankh commented Aug 3, 2026

Copy link
Copy Markdown

Summary:

Add move-only bulk-buffer registration leases with stable generations and non-owning contained-range views. Bulk registrations request PCIe Relaxed Ordering, share the existing per-allocation MR cache, and reject invalid, overflowing, stale, or released ranges.

Expose the lease operations through MultiPeerTransport for the IBGDA zero-copy AllReduce path. This change does not alter collective behavior or enable zero-copy Ring or Tree.

Add focused lifetime, containment, overlap, ordering, and re-registration coverage. IBRC exercises the shared transport-base implementation as regression coverage; IBGDA remains the product scope.

Reviewed By: rmahidhar

Differential Revision: D114554503

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Aug 3, 2026
@meta-codesync

meta-codesync Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

@snarayankh has exported this pull request. If you are a Meta employee, you can view the originating Diff in D114554503.

@meta-codesync meta-codesync Bot changed the title Add bulk-buffer registration leases for IBGDA Add bulk-buffer registration leases for IBGDA (#3414) Aug 5, 2026
snarayankh pushed a commit to snarayankh/torchcomms that referenced this pull request Aug 5, 2026
Summary:

Add move-only bulk-buffer registration leases with stable generations and non-owning contained-range views. Bulk registrations request PCIe Relaxed Ordering, share the existing per-allocation MR cache, and reject invalid, overflowing, stale, or released ranges.

Expose the lease operations through `MultiPeerTransport` for the IBGDA zero-copy AllReduce path. This change does not alter collective behavior or enable zero-copy Ring or Tree.

Add focused lifetime, containment, overlap, ordering, and re-registration coverage. IBRC exercises the shared transport-base implementation as regression coverage; IBGDA remains the product scope.

Differential Revision: D114554503
@snarayankh
snarayankh force-pushed the export-D114554503 branch 2 times, most recently from 7ed75c4 to 8f9a63a Compare August 5, 2026 19:14
snarayankh pushed a commit to snarayankh/torchcomms that referenced this pull request Aug 5, 2026
Summary:

Add move-only bulk-buffer registration leases with stable generations and non-owning contained-range views. Bulk registrations request PCIe Relaxed Ordering, share the existing per-allocation MR cache, and reject invalid, overflowing, stale, or released ranges.

Expose the lease operations through `MultiPeerTransport` for the IBGDA zero-copy AllReduce path. This change does not alter collective behavior or enable zero-copy Ring or Tree.

Add focused lifetime, containment, overlap, ordering, and re-registration coverage. IBRC exercises the shared transport-base implementation as regression coverage; IBGDA remains the product scope.

Differential Revision: D114554503
snarayankh pushed a commit to snarayankh/torchcomms that referenced this pull request Aug 5, 2026
Summary:

Add move-only bulk-buffer registration leases with stable generations and non-owning contained-range views. Bulk registrations request PCIe Relaxed Ordering, share the existing per-allocation MR cache, and reject invalid, overflowing, stale, or released ranges.

Expose the lease operations through `MultiPeerTransport` for the IBGDA zero-copy AllReduce path. This change does not alter collective behavior or enable zero-copy Ring or Tree.

Add focused lifetime, containment, overlap, ordering, and re-registration coverage. IBRC exercises the shared transport-base implementation as regression coverage; IBGDA remains the product scope.

Differential Revision: D114554503
snarayankh pushed a commit to snarayankh/torchcomms that referenced this pull request Aug 5, 2026
Summary:

Add move-only bulk-buffer registration leases with stable generations and non-owning contained-range views. Bulk registrations request PCIe Relaxed Ordering, share the existing per-allocation MR cache, and reject invalid, overflowing, stale, or released ranges.

Expose the lease operations through `MultiPeerTransport` for the IBGDA zero-copy AllReduce path. This change does not alter collective behavior or enable zero-copy Ring or Tree.

Add focused lifetime, containment, overlap, ordering, and re-registration coverage. IBRC exercises the shared transport-base implementation as regression coverage; IBGDA remains the product scope.

Differential Revision: D114554503
snarayankh pushed a commit to snarayankh/torchcomms that referenced this pull request Aug 6, 2026
Summary:

Add move-only bulk-buffer registration leases with stable generations and non-owning contained-range views. Bulk registrations request PCIe Relaxed Ordering, share the existing per-allocation MR cache, and reject invalid, overflowing, stale, or released ranges.

Expose the lease operations through `MultiPeerTransport` for the IBGDA zero-copy AllReduce path. This change does not alter collective behavior or enable zero-copy Ring or Tree.

Add focused lifetime, containment, overlap, ordering, and re-registration coverage. IBRC exercises the shared transport-base implementation as regression coverage; IBGDA remains the product scope.

Reviewed By: rmahidhar

Differential Revision: D114554503
snarayankh pushed a commit to snarayankh/torchcomms that referenced this pull request Aug 6, 2026
Summary:

Add move-only bulk-buffer registration leases with stable generations and non-owning contained-range views. Bulk registrations request PCIe Relaxed Ordering, share the existing per-allocation MR cache, and reject invalid, overflowing, stale, or released ranges.

Expose the lease operations through `MultiPeerTransport` for the IBGDA zero-copy AllReduce path. This change does not alter collective behavior or enable zero-copy Ring or Tree.

Add focused lifetime, containment, overlap, ordering, and re-registration coverage. IBRC exercises the shared transport-base implementation as regression coverage; IBGDA remains the product scope.

Reviewed By: rmahidhar

Differential Revision: D114554503
snarayankh pushed a commit to snarayankh/torchcomms that referenced this pull request Aug 9, 2026
Summary:

Add move-only bulk-buffer registration leases with stable generations and non-owning contained-range views. Bulk registrations request PCIe Relaxed Ordering, share the existing per-allocation MR cache, and reject invalid, overflowing, stale, or released ranges.

Expose the lease operations through `MultiPeerTransport` for the IBGDA zero-copy AllReduce path. This change does not alter collective behavior or enable zero-copy Ring or Tree.

Add focused lifetime, containment, overlap, ordering, and re-registration coverage. IBRC exercises the shared transport-base implementation as regression coverage; IBGDA remains the product scope.

Reviewed By: rmahidhar

Differential Revision: D114554503
snarayankh pushed a commit to snarayankh/torchcomms that referenced this pull request Aug 9, 2026
Summary:

Add move-only bulk-buffer registration leases with stable generations and non-owning contained-range views. Bulk registrations request PCIe Relaxed Ordering, share the existing per-allocation MR cache, and reject invalid, overflowing, stale, or released ranges.

Expose the lease operations through `MultiPeerTransport` for the IBGDA zero-copy AllReduce path. This change does not alter collective behavior or enable zero-copy Ring or Tree.

Add focused lifetime, containment, overlap, ordering, and re-registration coverage. IBRC exercises the shared transport-base implementation as regression coverage; IBGDA remains the product scope.

Reviewed By: rmahidhar

Differential Revision: D114554503
snarayankh pushed a commit to snarayankh/torchcomms that referenced this pull request Aug 9, 2026
Summary:

Add move-only bulk-buffer registration leases with stable generations and non-owning contained-range views. Bulk registrations request PCIe Relaxed Ordering, share the existing per-allocation MR cache, and reject invalid, overflowing, stale, or released ranges.

Expose the lease operations through `MultiPeerTransport` for the IBGDA zero-copy AllReduce path. This change does not alter collective behavior or enable zero-copy Ring or Tree.

Add focused lifetime, containment, overlap, ordering, and re-registration coverage. IBRC exercises the shared transport-base implementation as regression coverage; IBGDA remains the product scope.

Reviewed By: rmahidhar

Differential Revision: D114554503
snarayankh pushed a commit to snarayankh/torchcomms that referenced this pull request Aug 11, 2026
Summary:
Pull Request resolved: meta-pytorch#3414

Add move-only bulk-buffer registration leases with stable generations and non-owning contained-range views. Bulk registrations request PCIe Relaxed Ordering, share the existing per-allocation MR cache, and reject invalid, overflowing, stale, or released ranges.

Expose the lease operations through `MultiPeerTransport` for the IBGDA zero-copy AllReduce path. This change does not alter collective behavior or enable zero-copy Ring or Tree.

Add focused lifetime, containment, overlap, ordering, and re-registration coverage. IBRC exercises the shared transport-base implementation as regression coverage; IBGDA remains the product scope.

Reviewed By: rmahidhar

Differential Revision: D114554503
snarayankh pushed a commit to snarayankh/torchcomms that referenced this pull request Aug 11, 2026
Summary:

Add move-only bulk-buffer registration leases with stable generations and non-owning contained-range views. Bulk registrations request PCIe Relaxed Ordering, share the existing per-allocation MR cache, and reject invalid, overflowing, stale, or released ranges.

Expose the lease operations through `MultiPeerTransport` for the IBGDA zero-copy AllReduce path. This change does not alter collective behavior or enable zero-copy Ring or Tree.

Add focused lifetime, containment, overlap, ordering, and re-registration coverage. IBRC exercises the shared transport-base implementation as regression coverage; IBGDA remains the product scope.

Reviewed By: rmahidhar

Differential Revision: D114554503
Santosh Narayankhedkar added 4 commits August 10, 2026 22:19
Summary:

Add resumable and blocking registered-source send APIs that let IBGDA read directly from a registered caller buffer. Track posting separately from local NIC completion so callers can safely reuse the source only after an explicit drain.

Preserve the existing staged protocol cursor, receiver staging, signaling, credits, and default behavior.

Reviewed By: rmahidhar

Differential Revision: D114552007
Summary:

Cover two protocol interactions for registered-source IBGDA sends: sharing the normal send cursor with staged sends, and maintaining backpressure and data integrity across repeated staging-slot wrap.

This is test-only hardening for the registered-source transport primitive.

Reviewed By: rmahidhar

Differential Revision: D114552006
Summary:

Add an opt-in `--ibgda_sendrecv_enable_registered` mode to the IBGDA send/receive benchmark so registered-source sends can be measured against the existing staged path. Keep staged sends as the default, use the same one-block benchmark geometry for both paths, and explicitly drain registered sends before their source storage can be reused.

Reviewed By: rmahidhar

Differential Revision: D114552005
Summary:

Add move-only bulk-buffer registration leases with stable generations and non-owning contained-range views. Bulk registrations request PCIe Relaxed Ordering, share the existing per-allocation MR cache, and reject invalid, overflowing, stale, or released ranges.

Expose the lease operations through `MultiPeerTransport` for the IBGDA zero-copy AllReduce path. This change does not alter collective behavior or enable zero-copy Ring or Tree.

Add focused lifetime, containment, overlap, ordering, and re-registration coverage. IBRC exercises the shared transport-base implementation as regression coverage; IBGDA remains the product scope.

Reviewed By: rmahidhar

Differential Revision: D114554503
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot. meta-exported

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant