Skip to content

vllm.distributed.ec_transfer.ec_connector.cpu.utils

Supporting utilities for the ECCPUConnector scheduler.

Functions:

  • build_block_descs –

    Per-block (addr, size, device_id) tuples for an ECSharedRegion.

build_block_descs(base_ptr, num_blocks, block_size_bytes, device_id=0)

Per-block (addr, size, device_id) tuples for an ECSharedRegion.

Handed to nixl.get_xfer_descs to build a dlist where descriptor i addresses block i in the mmap. This makes a WRITE to block indices [i1, i2, ...] a simple make_prepped_xfer(..., [i1, i2]) on both ends — no per-request address math.

Source code in vllm/distributed/ec_transfer/ec_connector/cpu/utils.py
def build_block_descs(
    base_ptr: int,
    num_blocks: int,
    block_size_bytes: int,
    device_id: int = 0,
) -> _MemDescList:
    """Per-block `(addr, size, device_id)` tuples for an `ECSharedRegion`.

    Handed to `nixl.get_xfer_descs` to build a dlist where descriptor `i`
    addresses block `i` in the mmap. This makes a WRITE to block indices
    `[i1, i2, ...]` a simple `make_prepped_xfer(..., [i1, i2])` on both
    ends — no per-request address math.
    """
    return [
        (base_ptr + i * block_size_bytes, block_size_bytes, device_id)
        for i in range(num_blocks)
    ]