PPL Logo

HypercubeRouter Class Reference
[Converse level message Routers]

Dimensional Exchange (Hypercube) based router. More...

#include <hypercuberouter.h>

Inheritance diagram for HypercubeRouter:

Inheritance graph
[legend]
Collaboration diagram for HypercubeRouter:

Collaboration graph
[legend]

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

PeTablePeHcube
PeTablePeHcube1
intbuffer
intmsgnum
int InitCounter
intpenum
intgpes
int ** next
int Dim
int stage
int MyPe
int NumPes
int numDirectSteps
int two_pow_ndirect
int procMsgCount

Detailed Description

Dimensional Exchange (Hypercube) based router.

Definition at line 13 of file hypercuberouter.h.


Member Function Documentation

void HypercubeRouter::ProcMsg ( int  ,
msgstruct **   
) [inline]

Definition at line 37 of file hypercuberouter.h.


Field Documentation

Definition at line 16 of file hypercuberouter.h.

Referenced by HypercubeRouter(), LocalProcMsg(), ProcManyMsg(), and ~HypercubeRouter().

Definition at line 17 of file hypercuberouter.h.

Definition at line 18 of file hypercuberouter.h.

Definition at line 18 of file hypercuberouter.h.

Referenced by InitVars(), ProcManyMsg(), RecvManyMsg(), and start_hcube().

Definition at line 19 of file hypercuberouter.h.

Referenced by CreateStageTable(), HypercubeRouter(), RecvManyMsg(), and ~HypercubeRouter().

Definition at line 19 of file hypercuberouter.h.

Referenced by HypercubeRouter(), and SetMap().

Definition at line 20 of file hypercuberouter.h.

Referenced by CreateStageTable(), HypercubeRouter(), RecvManyMsg(), and ~HypercubeRouter().

Definition at line 21 of file hypercuberouter.h.

Referenced by InitVars(), ProcManyMsg(), RecvManyMsg(), and start_hcube().

Definition at line 21 of file hypercuberouter.h.

Referenced by HypercubeRouter(), RecvManyMsg(), and SetID().

Definition at line 21 of file hypercuberouter.h.

Referenced by HypercubeRouter(), ProcManyMsg(), RecvManyMsg(), and SetID().

Definition at line 22 of file hypercuberouter.h.

Referenced by InitVars(), and ProcManyMsg().


The documentation for this class was generated from the following files:

Generated on Fri May 25 08:03:41 2012 for Charm++ by  doxygen 1.5.5