|
PULSAR
0.1
Parallel Unified Linear Algebra with Systolic Arrays
|
Virtual Data Processor (VDP) implementation. 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) |
| VDP constructor. More... | |
| void | prt_vdp_delete (prt_vdp_t *vdp) |
| VDP destructor Delete all local output channels. All local input channels are destroyed as output channels of other VDPs. More... | |
| void | prt_vdp_channel_insert (prt_vdp_t *vdp, prt_channel_t *channel, prt_channel_direction_t direction, int slot) |
| Insert a new channel into a VDP. More... | |
| int | prt_vdp_ready (prt_vdp_t *vdp) |
| Check if a VDP is ready to fire. Only checks established channels. (NULL channels don't prevent firing.) More... | |
Virtual Data Processor (VDP) implementation.
PULSAR Runtime /pulsar/ Copyright (C) 2012-2013 University of Tennessee.
Definition in file prt_vdp.c.
| void prt_vdp_channel_insert | ( | prt_vdp_t * | vdp, |
| prt_channel_t * | channel, | ||
| prt_channel_direction_t | direction, | ||
| int | slot | ||
| ) |
Insert a new channel into a VDP.
| vdp | |
| channel | |
| direction | direction of the channel |
| slot | slot number |
Definition at line 119 of file prt_vdp.c.
References prt_channel_s::dst_tuple, prt_vdp_s::input, prt_vdp_s::output, prt_assert, prt_tuple_compare(), PrtInputChannel, PrtOutputChannel, prt_channel_s::src_tuple, prt_vdp_s::tuple, and prt_channel_s::vdp.

| void prt_vdp_delete | ( | prt_vdp_t * | vdp | ) |
VDP destructor Delete all local output channels. All local input channels are destroyed as output channels of other VDPs.
| vdp |
Definition at line 77 of file prt_vdp.c.
References prt_channel_s::dst_node, prt_vdp_s::input, prt_vdp_s::local_store, prt_vsa_s::node_rank, prt_vdp_s::num_inputs, prt_vdp_s::num_outputs, prt_vdp_s::output, prt_assert, prt_channel_delete(), prt_tuple_delete(), prt_vdp_s::thread, prt_vdp_s::tuple, prt_channel_s::vdp, and prt_thread_s::vsa.

| 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 | ||
| ) |
VDP constructor.
| tuple | VDP's unique identificator |
| counter | number of times to fire the VDP |
| function | function implementing VDP's actions |
| local_store_size | size of VDP's persistent local store in bytes |
| num_inputs | number of input channels |
| num_outputs | number of output channels |
Definition at line 26 of file prt_vdp.c.
References prt_vdp_s::color, prt_vdp_s::counter, prt_vdp_s::function, prt_vdp_s::input, prt_vdp_s::local_store, prt_vdp_s::num_inputs, prt_vdp_s::num_outputs, prt_vdp_s::output, prt_assert, prt_vdp_s::thread, and prt_vdp_s::tuple.
| int prt_vdp_ready | ( | prt_vdp_t * | vdp | ) |
Check if a VDP is ready to fire. Only checks established channels. (NULL channels don't prevent firing.)
| vdp |
| 0 | not ready |
| 1 | ready |
Definition at line 170 of file prt_vdp.c.
References prt_vdp_s::input, prt_vdp_s::num_inputs, prt_assert, and prt_channel_empty().

