#include "bsp_exptable.h"
#include <config.h>
Include dependency graph for bsp_delivtable.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Functions | |
void | deliveryTable_execute (ExpandableTable *restrict, ExpandableTable *restrict, ExpandableTable *restrict) |
static void | deliveryTable_initialize (ExpandableTable *restrict table, const int nprocs, const int rows) |
initializes a DeliveryTable object | |
static void | deliveryTable_reset (ExpandableTable *restrict table) |
clears a DeliveryTable object | |
static void | deliveryTable_destruct (ExpandableTable *restrict table) |
Frees memory allocated by a DeliveryTable. | |
static void | deliveryTable_expand (ExpandableTable *restrict table, const int rows) |
Expands a DeliveryTable. | |
static void | delivInfoMake (union SpecInfo *restrict info, int b, int c) |
static void | deliveryTable_push (ExpandableTable *restrict table, const int proc, const VarSizeElement elem) |
Adds a VarSizeElement to a DeliveryTable. | |
static void | deliveryTable_pushSend (ExpandableTable *restrict table, const int proc, const void *restrict tag, const int tag_size, const void *restrict payload, const int payload_size) |
Adds a 'bsp_send()' to a DeliveryTable. | |
static void | deliveryTable_pushPut (ExpandableTable *restrict table, const int proc, const void *const dst, const void *const restrict data, const int size) |
Adds a bsp_put() to a DeliveryTable. |
DeliveryTable provides two functionalities:
These are the same if you consider sends and puts to be actions as well: A put or send is a memory copy action on the remote processor. Actions like bsp_set_tagsize() which do not need communication are placed in the column of the local processor (the column number is equal to the rank of the local processor). Each action is added to a column as a VarSizeElement. Additionally puts and sends have a block of data appended after the VarSizeElement struct in which one or more bsp_put()'s or bsp_send()'s are combined. An example is shown below.
Example of a combined put and combined send in a VarSizeElement
Definition in file bsp_delivtable.h.
|
Frees memory allocated by a DeliveryTable.
Definition at line 89 of file bsp_delivtable.h. References expandableTable_destruct(). Referenced by bsp_end(). Here is the call graph for this function: ![]() |
|
|
|
Expands a DeliveryTable.
Definition at line 101 of file bsp_delivtable.h. References VarSizeElement::data, SpecInfo::deliv, and DelivInfo::latest_pushed_element. Referenced by deliveryTable_pushPut(), and deliveryTable_pushSend(). |
|
initializes a DeliveryTable object
Definition at line 67 of file bsp_delivtable.h. References bsp_calloc, SpecInfo::deliv, DelivInfo::latest_pushed_element, and varElSizeTable_initialize(). Referenced by bsp_begin(). Here is the call graph for this function: ![]() |
|
Adds a VarSizeElement to a DeliveryTable.
Definition at line 132 of file bsp_delivtable.h. Referenced by bsp_pop_reg(), bsp_push_reg(), and bsp_set_tagsize(). |
|
Adds a bsp_put() to a DeliveryTable.
Definition at line 261 of file bsp_delivtable.h. References VarSizeElement::data, deliveryTable_expand(), VarSizeElement::info, PutObject::item_count, PutObject::item_size, MAX, no_slots(), _VarSzInfo::put, put, VarSizeElement::size, and VarSizeElement::type. Referenced by bsp_put(), and requestTable_execute(). Here is the call graph for this function: ![]() |
|
Adds a 'bsp_send()' to a DeliveryTable.
Definition at line 165 of file bsp_delivtable.h. References VarSizeElement::data, deliveryTable_expand(), VarSizeElement::info, SendObject::item_count, MAX, no_slots(), SendObject::payload_size, _VarSzInfo::send, send, VarSizeElement::size, SendObject::tag_size, and VarSizeElement::type. Referenced by bsp_send(). Here is the call graph for this function: ![]() |
|
clears a DeliveryTable object
Definition at line 79 of file bsp_delivtable.h. References expandableTable_reset(). Referenced by bsp_sync(). Here is the call graph for this function: ![]() |
|
Definition at line 122 of file bsp_delivtable.h. |