#include <VirtualRouter.h>
Public Member Functions | |
void | additionalInitialization () |
void | assignRoute (int dimension, int dimensionIndex, Route &routeToDestination) |
int | nextPeAlongRoute (int dimension, int dimensionIndex) |
void | determineRoute (int destinationPe, int dimensionReceivedAlong, Route &routeToDestination) |
void | updateCompletionProgress (CompletionStatus ¤tStatus) |
int | numBuffersPerDimension (int dimension) |
int | maxNumAllocatedBuffers () |
int | numMsgTypes () |
bool | isMessagePersonalized (int dimension) |
int | dimensionReceived (int msgType) |
int | determineMsgType (int dimension) |
bool | isBufferInUse (int dimension, int index) |
bool | isBroadcastSupported () |
Private Types | |
enum | { personalizedMsgType, forwardMsgType, msgTypeCount } |
Private Member Functions | |
int | numSendingToMe (int msgType) |
Private Attributes | |
int | myAssignedDim_ |
int | teamSize_ |
int | dimensionOfArrivingMsgs_ |
std::vector< int > | forwardingDestinations_ |
Definition at line 284 of file VirtualRouter.h.
anonymous enum [private] |
Definition at line 297 of file VirtualRouter.h.
Definition at line 299 of file VirtualRouter.h.
References dimensionOfArrivingMsgs_, forwardMsgType, VirtualRouter< NodeAwareMeshRouter >::individualDimensionSizes_, myAssignedDim_, VirtualRouter< NodeAwareMeshRouter >::myLocationIndex_, VirtualRouter< NodeAwareMeshRouter >::numDimensions_, offset, personalizedMsgType, and teamSize_.
Referenced by updateCompletionProgress().
void NodeAwareMeshRouter::additionalInitialization | ( | ) | [inline] |
Reimplemented from MeshRouter< NodeAwareMeshRouter >.
Definition at line 337 of file VirtualRouter.h.
References dimensionOfArrivingMsgs_, forwardingDestinations_, VirtualRouter< NodeAwareMeshRouter >::individualDimensionSizes_, VirtualRouter< NodeAwareMeshRouter >::initialRoutingDimension_, myAssignedDim_, VirtualRouter< NodeAwareMeshRouter >::myIndex_, VirtualRouter< NodeAwareMeshRouter >::myLocationIndex_, VirtualRouter< NodeAwareMeshRouter >::numDimensions_, and teamSize_.
void NodeAwareMeshRouter::assignRoute | ( | int | dimension, | |
int | dimensionIndex, | |||
Route & | routeToDestination | |||
) | [inline] |
Reimplemented from MeshRouter< NodeAwareMeshRouter >.
Definition at line 371 of file VirtualRouter.h.
References Route::destinationPe, Route::dimension, Route::dimensionIndex, myAssignedDim_, and nextPeAlongRoute().
Referenced by determineRoute().
Reimplemented from MeshRouter< NodeAwareMeshRouter >.
Definition at line 380 of file VirtualRouter.h.
References forwardingDestinations_, myAssignedDim_, MeshRouter< Derived >::nextPeAlongRoute(), VirtualRouter< NodeAwareMeshRouter >::numDimensions_, and teamSize_.
Referenced by assignRoute().
void NodeAwareMeshRouter::determineRoute | ( | int | destinationPe, | |
int | dimensionReceivedAlong, | |||
Route & | routeToDestination | |||
) | [inline] |
Reimplemented from MeshRouter< NodeAwareMeshRouter >.
Definition at line 407 of file VirtualRouter.h.
References assignRoute(), MeshRouter< Derived >::determineRoute(), Route::dimension, VirtualRouter< NodeAwareMeshRouter >::numDimensions_, MeshRouter< NodeAwareMeshRouter >::routeAlongDimension(), and routeNotFound.
void NodeAwareMeshRouter::updateCompletionProgress | ( | CompletionStatus & | currentStatus | ) | [inline] |
Reimplemented from MeshRouter< NodeAwareMeshRouter >.
Definition at line 421 of file VirtualRouter.h.
References dimensionOfArrivingMsgs_, CompletionStatus::dimensionsToFlush, finalCompletionStage, forwardMsgType, initialCompletionStage, CompletionStatus::numContributors, VirtualRouter< NodeAwareMeshRouter >::numDimensions_, numSendingToMe(), and CompletionStatus::stageIndex.
Reimplemented from MeshRouter< NodeAwareMeshRouter >.
Definition at line 450 of file VirtualRouter.h.
References VirtualRouter< NodeAwareMeshRouter >::individualDimensionSizes_, and myAssignedDim_.
Referenced by maxNumAllocatedBuffers().
int NodeAwareMeshRouter::maxNumAllocatedBuffers | ( | ) | [inline] |
Reimplemented from MeshRouter< NodeAwareMeshRouter >.
Definition at line 457 of file VirtualRouter.h.
References numBuffersPerDimension(), and VirtualRouter< NodeAwareMeshRouter >::numDimensions_.
int NodeAwareMeshRouter::numMsgTypes | ( | ) | [inline] |
Reimplemented from MeshRouter< NodeAwareMeshRouter >.
Definition at line 465 of file VirtualRouter.h.
References msgTypeCount.
Reimplemented from MeshRouter< NodeAwareMeshRouter >.
Definition at line 469 of file VirtualRouter.h.
References myAssignedDim_, and VirtualRouter< NodeAwareMeshRouter >::numDimensions_.
Referenced by determineMsgType().
Reimplemented from MeshRouter< NodeAwareMeshRouter >.
Definition at line 474 of file VirtualRouter.h.
References dimensionOfArrivingMsgs_, and forwardMsgType.
Reimplemented from MeshRouter< NodeAwareMeshRouter >.
Definition at line 479 of file VirtualRouter.h.
References isMessagePersonalized().
Reimplemented from MeshRouter< NodeAwareMeshRouter >.
Definition at line 483 of file VirtualRouter.h.
bool NodeAwareMeshRouter::isBroadcastSupported | ( | ) | [inline] |
Reimplemented from MeshRouter< NodeAwareMeshRouter >.
Definition at line 487 of file VirtualRouter.h.
int NodeAwareMeshRouter::myAssignedDim_ [private] |
Definition at line 287 of file VirtualRouter.h.
Referenced by additionalInitialization(), assignRoute(), isMessagePersonalized(), nextPeAlongRoute(), numBuffersPerDimension(), and numSendingToMe().
int NodeAwareMeshRouter::teamSize_ [private] |
Definition at line 290 of file VirtualRouter.h.
Referenced by additionalInitialization(), nextPeAlongRoute(), and numSendingToMe().
Definition at line 291 of file VirtualRouter.h.
Referenced by additionalInitialization(), dimensionReceived(), numSendingToMe(), and updateCompletionProgress().
std::vector<int> NodeAwareMeshRouter::forwardingDestinations_ [private] |
Definition at line 292 of file VirtualRouter.h.
Referenced by additionalInitialization(), and nextPeAlongRoute().