struct transfer_id
Declaration
struct transfer_id { /* full declaration omitted */ };
Description
Uniquely identifies one version of a buffer's (distributed) data at task granularity. The structure is used to tie together the sending and receiving ends of peer-to-peer data transfers.
Member Variables
- task_id consumer_tid = -1
- The first task (by order of task id) to require this version of the buffer.
- buffer_id bid = -1
- The buffer's id.
- reduction_id rid = no_reduction_id
- Since a task cannot require data both as part of a reduction and with its final value at the same time, this field is not necessary to identify the transfer version, but is used for sanity checks. It might become additionally valuable once we allow the user to specify the buffer subrange each reduction is targeting.
Member Function Overview
- transfer_id()
- transfer_id(task_id consumer_tid, buffer_id bid, reduction_id rid = no_reduction_id)
Friend Function Overview
- operator!=(const transfer_id & lhs, const transfer_id & rhs) → friend bool
- operator==(const transfer_id & lhs, const transfer_id & rhs) → friend bool
Member Functions
¶transfer_id()
transfer_id()
¶transfer_id(task_id consumer_tid,
buffer_id bid,
reduction_id rid = no_reduction_id)
transfer_id(task_id consumer_tid,
buffer_id bid,
reduction_id rid = no_reduction_id)
Parameters
- task_id consumer_tid
- buffer_id bid
- reduction_id rid = no_reduction_id
Friend Functions
¶friend bool operator!=(const transfer_id& lhs,
const transfer_id& rhs)
friend bool operator!=(const transfer_id& lhs,
const transfer_id& rhs)
Parameters
- const transfer_id& lhs
- const transfer_id& rhs
¶friend bool operator==(const transfer_id& lhs,
const transfer_id& rhs)
friend bool operator==(const transfer_id& lhs,
const transfer_id& rhs)
Parameters
- const transfer_id& lhs
- const transfer_id& rhs