
#include <hypercuberouter.h>


Public Member Functions | |
| HypercubeRouter (int, int, Strategy *, int ndirect=0) | |
| ~HypercubeRouter () | |
| void | NumDeposits (comID, int) |
| void | EachToAllMulticast (comID, int, void *, int) |
| Insert messages for the all to all operation, All processors will be multicast the same message here. | |
| void | EachToManyMulticast (comID, int, void *, int, int *, int) |
| Insert messages for the all to all operation, The destination processors to which a message is multicast to be can be specified. | |
| void | EachToManyMulticastQ (comID id, CkQ< MessageHolder * > &msgq) |
| Same as EachToManyMulticast, only it receives all the messages into a list. | |
| void | ProcMsg (int, msgstruct **) |
| void | RecvManyMsg (comID, char *) |
| void | ProcManyMsg (comID, char *) |
| void | DummyEP (comID id, int) |
| 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 | SetID (comID id) |
Private Member Functions | |
| void | InitVars () |
| void | CreateStageTable (int, int *) |
| void | LocalProcMsg (comID id) |
| void | start_hcube (comID id) |
Private Attributes | |
| PeTable * | PeHcube |
| PeTable * | PeHcube1 |
| int * | buffer |
| int * | msgnum |
| int | InitCounter |
| int * | penum |
| int * | gpes |
| int ** | next |
| int | Dim |
| int | stage |
| int | MyPe |
| int | NumPes |
| int | numDirectSteps |
| int | two_pow_ndirect |
| int | procMsgCount |
Definition at line 13 of file hypercuberouter.h.
Definition at line 37 of file hypercuberouter.h.
PeTable* HypercubeRouter::PeHcube [private] |
Definition at line 16 of file hypercuberouter.h.
Referenced by EachToManyMulticast(), EachToManyMulticastQ(), HypercubeRouter(), LocalProcMsg(), ProcManyMsg(), RecvManyMsg(), start_hcube(), and ~HypercubeRouter().
PeTable * HypercubeRouter::PeHcube1 [private] |
Definition at line 16 of file hypercuberouter.h.
Referenced by HypercubeRouter(), LocalProcMsg(), ProcManyMsg(), and ~HypercubeRouter().
int* HypercubeRouter::buffer [private] |
Definition at line 17 of file hypercuberouter.h.
int* HypercubeRouter::msgnum [private] |
Definition at line 18 of file hypercuberouter.h.
int HypercubeRouter::InitCounter [private] |
Definition at line 18 of file hypercuberouter.h.
Referenced by InitVars(), ProcManyMsg(), RecvManyMsg(), and start_hcube().
int* HypercubeRouter::penum [private] |
Definition at line 19 of file hypercuberouter.h.
Referenced by CreateStageTable(), HypercubeRouter(), RecvManyMsg(), and ~HypercubeRouter().
int * HypercubeRouter::gpes [private] |
int** HypercubeRouter::next [private] |
Definition at line 20 of file hypercuberouter.h.
Referenced by CreateStageTable(), HypercubeRouter(), RecvManyMsg(), and ~HypercubeRouter().
int HypercubeRouter::Dim [private] |
Definition at line 21 of file hypercuberouter.h.
Referenced by CreateStageTable(), HypercubeRouter(), InitVars(), LocalProcMsg(), ProcManyMsg(), RecvManyMsg(), start_hcube(), and ~HypercubeRouter().
int HypercubeRouter::stage [private] |
Definition at line 21 of file hypercuberouter.h.
Referenced by InitVars(), ProcManyMsg(), RecvManyMsg(), and start_hcube().
int HypercubeRouter::MyPe [private] |
Definition at line 21 of file hypercuberouter.h.
Referenced by CreateStageTable(), HypercubeRouter(), InitVars(), LocalProcMsg(), ProcManyMsg(), RecvManyMsg(), and start_hcube().
int HypercubeRouter::NumPes [private] |
Definition at line 21 of file hypercuberouter.h.
Referenced by EachToAllMulticast(), HypercubeRouter(), InitVars(), LocalProcMsg(), ProcManyMsg(), RecvManyMsg(), and start_hcube().
int HypercubeRouter::numDirectSteps [private] |
Definition at line 21 of file hypercuberouter.h.
Referenced by HypercubeRouter(), RecvManyMsg(), and SetID().
int HypercubeRouter::two_pow_ndirect [private] |
Definition at line 21 of file hypercuberouter.h.
Referenced by HypercubeRouter(), ProcManyMsg(), RecvManyMsg(), and SetID().
int HypercubeRouter::procMsgCount [private] |
1.5.5