51 int count, MPI_Datatype datatype,
52 int *src_tuple,
int src_slot,
53 int *dst_tuple,
int dst_slot);
struct prt_channel_s prt_channel_t
VDP's data channel Implements a data link between a pair of VDPs. Identifies the source and destinati...
prt_packet_t * prt_channel_pop(prt_channel_t *channel)
Fetches a packef from a channel. Does not decrement the number of active references. The packet leaves the channel, but enters the VDP.
VDP's data packet A packet of data transferred through VDP's channels.
void prt_channel_push(prt_channel_t *channel, prt_packet_t *packet)
Sends a packed down a channel. Increments the packet's number of active references.
int prt_channel_empty(prt_channel_t *channel)
Checks if a channel is empty.
void prt_channel_delete(prt_channel_t *channel)
channel destructor
prt_channel_direction_e
VDP's data channel direction Identifies the direction of a VDP channel during insertion.
VDP's data channel Implements a data link between a pair of VDPs. Identifies the source and destinati...
int prt_channel_compare(void *channel1, void *channel2)
Compare two channels. Channels are equal if they have the same source and destination tuples and slot...
Virtual Data Processor (VDP) Is uniquely identified by a tuple. Fires for a predefined number of cycl...
enum prt_channel_direction_e prt_channel_direction_t
VDP's data channel direction Identifies the direction of a VDP channel during insertion.
prt_channel_t * prt_channel_new(int count, MPI_Datatype datatype, int *src_tuple, int src_slot, int *dst_tuple, int dst_slot)
channel constructor