Skip to main content

struct multi_region_transfer

Declaration

struct multi_region_transfer { /* full declaration omitted */ };

Description

A (non-gather) transfer that has been mentioned in one or more calls to receive / begin_split_receive. Note that there may be multiple disjoint receives mapping to the same transfer_id as long as their regions are pairwise disconnected.

Member Variables

size_t elem_size
in bytes
std::vector<stable_region_request> active_requests
all `receive`s and `begin_split_receive`s active for this transfer id.
std::vector<inbound_pilot> unassigned_pilots
all inbound pilots that do not map to any `active_request`.

Member Function Overview

Member Functions

bool do_complete()


explicit multi_region_transfer(size_t elem_size)

Parameters

size_t elem_size

explicit multi_region_transfer(
    size_t elem_size,
    std::vector<inbound_pilot>&&
        unassigned_pilots)

Parameters

size_t elem_size
std::vector<inbound_pilot>&& unassigned_pilots