You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Build a reusable Tensor RDMA transport contract around an owner-side
RdmaExport API and a reader-side RdmaRead API. Define stable descriptors,
per-tensor manifests, lease-based slot ownership, batch reads, provider
selection, and a no-op implementation so applications do not depend on a
specific RDMA library.
Decouple separated ViT communication from its data plane. Keep gRPC as the
control plane for capability negotiation, requests, receipts, deadlines, and
lease release, while routing output delivery through transport backends and
receipt readers. The ViT and multimodal processor business paths now consume a
single transport interface instead of branching on grpc-inline or RDMA.
Adapt the complete ViT output to the common RDMA contract. Export embedding,
position IDs, and extra inputs from registered GPU slots, return descriptors in
the receipt, and reconstruct the original MultimodalOutput on the LLM side.
Oversized outputs are split into ordered slots without changing split_size
semantics.
Keep the ViT exporter and LLM receipt reader in separate build targets. Expose
the exporter through libmm_rdma_exporter.so so a ViT process does not load the
LLM and Embedding engine bindings in libth_transformer.so.
Validate descriptors and manifests, bound in-flight slot memory, release slots
through the control plane, and reclaim abandoned leases with GC. RDMA setup,
export, or READ failures use one bounded grpc-inline fallback. The open-source
build provides the transport contract and fallback; the internal build supplies
the Barex provider. MM_TRANSPORT_MODE=auto tries RDMA first, while
MM_TRANSPORT_MODE=grpc forces inline delivery; invalid modes fail fast. Configure
GPU-NIC affinity during service startup using the physical GPU mapping.
0 commit comments