|
PULSAR
2.0.0
Parallel Ultra-Light Systolic Array Runtime
|
Virtual Data Processor. More...
#include "prt_vdp.h"Go to the source code of this file.
Functions | |
| prt_vdp_t * | prt_vdp_new (int *tuple, int counter, prt_vdp_function_t function, size_t local_store_size, int num_inputs, int num_outputs, int color) |
| Creates a new VDP. More... | |
| void | prt_vdp_delete (prt_vdp_t *vdp) |
| Destroys a VDP. Used for destruction of local VDPs. Destroys all input channels. Destroys all dangling output channels. Local output channels are destroyed as input channels of other local VDPs. More... | |
| void | prt_vdp_annihilate (prt_vdp_t *vdp) |
| Annihilates a VDP. Used for complete annihilation of VDPs that don't belong in the node. Destroys all input channels. Destroys all output channels. More... | |
| void | prt_vdp_channel_insert (prt_vdp_t *vdp, prt_channel_t *channel, prt_channel_direction_t direction, int slot) |
| Inserts a new channel into a VDP. More... | |
| prt_packet_t * | prt_vdp_packet_new (prt_vdp_t *vdp, size_t size, void *data) |
| Creates a new packet. Allocates the size amount of data if a NULL pointer is passed. The size cannot be larger than INT_MAX, because all data typea are packed inside messages of type MPI_BYTE. Calls host constructor or device constructor depending on the VDP's location. More... | |
| prt_packet_t * | prt_vdp_packet_new_host_to_device (prt_vdp_t *vdp, size_t size, void *data) |
| Creates a new packet and queues a host-to-device transfer. The size cannot be larger than INT_MAX, because all data typea are packed inside messages of type MPI_BYTE. Expects a non-NULL pointer to the data in host memory. Right now, device memory is allocated immediately. Potentially, it could also be done in the VDP's stream. More... | |
| void | prt_vdp_packet_release (prt_vdp_t *vdp, prt_packet_t *packet) |
| Releases a packet. Decrements the number of active references. Destroys the packet when the number of references goes down to zero. For device packets, puts a callback in the VDP's stream. More... | |
| void | prt_vdp_channel_push (prt_vdp_t *vdp, int channel_num, prt_packet_t *packet) |
| Pushes a packet in a channel. More... | |
| prt_packet_t * | prt_vdp_channel_pop (prt_vdp_t *vdp, int channel_num) |
| Fetches a packet from a channel. More... | |
| void | prt_vdp_channel_off (prt_vdp_t *vdp, int channel_num) |
| Deactivates a channel. More... | |
| void | prt_vdp_channel_on (prt_vdp_t *vdp, int channel_num) |
| Activates a channel. More... | |
| int | prt_vdp_ready (prt_vdp_t *vdp) |
| Checks if a VDP is ready to fire. Only checks established channels. (NULL channels don't prevent firing.) Inactive channels don't precent firing. More... | |
Virtual Data Processor.
PULSAR Runtime http://icl.utk.edu/pulsar/ Copyright (C) 2012-2015 University of Tennessee.
Definition in file prt_vdp.c.
| void prt_vdp_annihilate | ( | prt_vdp_t * | vdp) |
| void prt_vdp_delete | ( | prt_vdp_t * | vdp) |