Site Tools


rdma

Table of Contents

RDMA

RDMA (Remote Direct Memory Access) lets one machine read or write another machine's memory directly over an interconnect without involving the remote CPU or kernel. Memory must be registered with the network adapter first, and one-sided operations (RDMA_WRITE, RDMA_READ) complete without remote software involvement.

RDMA is the mechanism behind InfiniBand's low-latency performance and enables GPU-to-GPU transfers without host CPU overhead via GPUDirect RDMA.

Example

RDMA bypasses kernel and copies.

// Register memory for RDMA
ibv_mr *mr = ibv_reg_mr(pd, buf, size, IBV_ACCESS_REMOTE_WRITE);
 
// One-sided write (remote CPU doesn't run code to receive)
struct ibv_send_wr sr = {..., .opcode = IBV_WR_RDMA_WRITE, ...};
rdma.md · Last modified: by 127.0.0.1