hcube.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef _util_group_hcube_h
00029 #define _util_group_hcube_h
00030
00031 #include <util/group/topology.h>
00032
00033 namespace sc {
00034
00035 class HypercubeGMI: public GlobalMsgIter {
00036 private:
00037 int nhyper_;
00038 protected:
00039 int fwdsendto();
00040 int fwdsend();
00041 int fwdrecvfrom();
00042 int fwdrecv();
00043 public:
00044 HypercubeGMI(int nproc, int me, int root);
00045 ~HypercubeGMI();
00046 };
00047
00048
00049
00050 class HypercubeTopology: public MachineTopology {
00051 public:
00052 HypercubeTopology();
00053 HypercubeTopology(const Ref<KeyVal>&);
00054 ~HypercubeTopology();
00055 Ref<GlobalMsgIter> global_msg_iter(const Ref<MessageGrp>&, int target);
00056 };
00057
00058 }
00059
00060 #endif
00061
00062
00063
00064
00065
Generated at Sat Dec 18 15:14:21 2004 for MPQC
2.2.3 using the documentation package Doxygen
1.3.7-20040617.