
#include <router.h>


Public Member Functions | |
| Router (Strategy *cont) | |
| virtual | ~Router () |
| virtual void | EachToAllMulticast (comID id, int size, void *msg, int more) |
| Insert messages for the all to all operation, All processors will be multicast the same message here. | |
| virtual void | EachToManyMulticast (comID id, int size, void *msg, int numPes, int *pelist, int more) |
| Insert messages for the all to all operation, The destination processors to which a message is multicast to be can be specified. | |
| virtual void | EachToManyMulticastQ (comID id, CkQ< MessageHolder * > &msgq) |
| Same as EachToManyMulticast, only it receives all the messages into a list. | |
| virtual void | RecvManyMsg (comID, char *) |
| virtual void | ProcManyMsg (comID, char *) |
| virtual void | DummyEP (comID, int) |
| virtual void | SetMap (int *) |
| Set the map between processors and virtual processor id's, Useful when only a subset of processors are involved in the communication operation. | |
| void | SendDummyMsg (comID id, int pe, int magic) |
| void | Done (comID id) |
| set the handler that will be called when an iteration finishes | |
Protected Attributes | |
| Strategy * | container |
Imported from Krishnan's Each To Many Communication Framework. Modified to suit the new communication library. Sameer Kumar 05/14/04
Definition at line 71 of file router.h.
| virtual void Router::EachToAllMulticast | ( | comID | id, | |
| int | size, | |||
| void * | msg, | |||
| int | more | |||
| ) | [inline, virtual] |
Insert messages for the all to all operation, All processors will be multicast the same message here.
Reimplemented in D3GridRouter, DimexRouter, GraphRouter, GridRouter, HypercubeRouter, and TreeRouter.
Definition at line 83 of file router.h.
References CmiPrintf().
| virtual void Router::EachToManyMulticast | ( | comID | id, | |
| int | size, | |||
| void * | msg, | |||
| int | numPes, | |||
| int * | pelist, | |||
| int | more | |||
| ) | [inline, virtual] |
Insert messages for the all to all operation, The destination processors to which a message is multicast to be can be specified.
| id | communication operation identifier | |
| size | size of the message | |
| msg | message to be sent | |
| numPes | number of processors the message has to be sent to | |
| pelist | list of relative proc ids the message has to be multicast to |
Reimplemented in D3GridRouter, DimexRouter, GraphRouter, GridRouter, HypercubeRouter, and TreeRouter.
Definition at line 94 of file router.h.
References CmiPrintf().
Referenced by EachToManyMulticastQ().
| virtual void Router::EachToManyMulticastQ | ( | comID | id, | |
| CkQ< MessageHolder * > & | msgq | |||
| ) | [inline, virtual] |
Same as EachToManyMulticast, only it receives all the messages into a list.
Reimplemented in DimexRouter, GridRouter, HypercubeRouter, and PrefixRouter.
Definition at line 99 of file router.h.
References CkQ< T >::deq(), EachToManyMulticast(), MessageHolder::getMessage(), CkQ< T >::length(), MessageHolder::npes, MessageHolder::pelist, and MessageHolder::size.
Referenced by RouterStrategy::doneInserting().
| virtual void Router::RecvManyMsg | ( | comID | , | |
| char * | ||||
| ) | [inline, virtual] |
Reimplemented in D3GridRouter, DimexRouter, GraphRouter, GridRouter, HypercubeRouter, and TreeRouter.
Definition at line 116 of file router.h.
References CmiPrintf().
Referenced by routerRecvManyCombinedMsg().
| virtual void Router::ProcManyMsg | ( | comID | , | |
| char * | ||||
| ) | [inline, virtual] |
Reimplemented in D3GridRouter, DimexRouter, GraphRouter, GridRouter, HypercubeRouter, and TreeRouter.
Definition at line 120 of file router.h.
References CmiPrintf().
Referenced by routerProcManyCombinedMsg().
Reimplemented in D3GridRouter, DimexRouter, GraphRouter, GridRouter, HypercubeRouter, and TreeRouter.
Definition at line 123 of file router.h.
References CmiPrintf().
Referenced by routerDummyMsg().
| virtual void Router::SetMap | ( | int * | ) | [inline, virtual] |
Set the map between processors and virtual processor id's, Useful when only a subset of processors are involved in the communication operation.
Reimplemented in D3GridRouter, DimexRouter, GraphRouter, GridRouter, HypercubeRouter, PrefixRouter, and TreeRouter.
Definition at line 128 of file router.h.
Referenced by RouterStrategy::setupRouter().
Definition at line 131 of file router.h.
References Converse::CkMyPe(), CmiAlloc(), Converse::CmiSyncSendAndFree(), ComlibPrintf(), DummyMsg::id, and DummyMsg::magic.
Referenced by GraphRouter::sendMessages().
| void Router::Done | ( | comID | id | ) | [inline] |
set the handler that will be called when an iteration finishes
called by the subclasses when the iteration has completed
Definition at line 148 of file router.h.
References ConvComlibGetStrategy(), and Strategy::notifyDone().
Referenced by PrefixRouter::EachToManyMulticastQ(), TreeRouter::LocalProcMsg(), HypercubeRouter::LocalProcMsg(), GridRouter::LocalProcMsg(), DimexRouter::LocalProcMsg(), D3GridRouter::LocalProcMsg(), and GraphRouter::ProcManyMsg().
Strategy* Router::container [protected] |
Definition at line 75 of file router.h.
Referenced by GraphRouter::DummyEP(), GraphRouter::EachToManyMulticast(), TreeRouter::LocalProcMsg(), HypercubeRouter::LocalProcMsg(), GridRouter::LocalProcMsg(), D3GridRouter::LocalProcMsg(), GraphRouter::ProcManyMsg(), and GraphRouter::RecvManyMsg().
1.5.5