class split_receive_instruction
Declaration
class split_receive_instruction : public implement_acceptor,
public receive_instruction_impl { /* full declaration omitted */ };
Description
Informs the receive arbiter about the bounding box allocation for a series of incoming transfers. The boxes of remote send_instructions do not necessarily coincide with await_receive_instructions - sends can fulfil subsets or supersets of receives, so the executor needs to be able to handle all send-patterns that cover the region of the original await_push command. To make this happen, the instruction_graph_generator allocates the bounding box of each 2/4/8-connected component of the await_push region and passes it on to the receive_arbiter through a split_receive_instruction.
Inherits from: implement_acceptor, receive_instruction_impl
Member Variables
Member Function Overview
- split_receive_instruction(instruction_id iid, int priority, const transfer_id & trid, region<3> request, allocation_id dest_allocation, const box<3> & allocated_box, size_t elem_size) → explicit
Inherited from receive_instruction_impl:
Member Functions
¶explicit split_receive_instruction(
instruction_id iid,
int priority,
const transfer_id& trid,
region<3> request,
allocation_id dest_allocation,
const box<3>& allocated_box,
size_t elem_size)
explicit split_receive_instruction(
instruction_id iid,
int priority,
const transfer_id& trid,
region<3> request,
allocation_id dest_allocation,
const box<3>& allocated_box,
size_t elem_size)
Parameters
- instruction_id iid
- int priority
- const transfer_id& trid
- region<3> request
- allocation_id dest_allocation
- const box<3>& allocated_box
- size_t elem_size