-class XBT_PRIVATE AsClusterDragonfly
- : public AsCluster {
- public:
- explicit AsClusterDragonfly(As* father, const char* name);
- ~AsClusterDragonfly() override;
-// void create_links_for_node(sg_platf_cluster_cbarg_t cluster, int id, int rank, int position) override;
- void getLocalRoute(NetCard* src, NetCard* dst, sg_platf_route_cbarg_t into, double* latency) override;
- void parse_specific_arguments(sg_platf_cluster_cbarg_t cluster) override;
- void seal() override;
- void generateRouters();
- void generateLinks();
- void createLink(char* id, int numlinks, Link** linkup, Link** linkdown);
- unsigned int * rankId_to_coords(int rankId);
- private:
- sg_platf_cluster_cbarg_t cluster_;
- unsigned int numNodesPerBlade_ = 0;
- unsigned int numBladesPerChassis_ = 0;
- unsigned int numChassisPerGroup_ = 0;
- unsigned int numGroups_ = 0;
- unsigned int numLinksGreen_ = 0;
- unsigned int numLinksBlack_ = 0;
- unsigned int numLinksBlue_ = 0;
- unsigned int numLinksperLink_ = 1; //fullduplex -> 2, only for local link
- DragonflyRouter** routers_=nullptr;
- };
+class XBT_PRIVATE DragonflyZone : public ClusterZone {
+public:
+ explicit DragonflyZone(NetZone* father, const char* name);
+ ~DragonflyZone() override;
+ // void create_links_for_node(sg_platf_cluster_cbarg_t cluster, int id, int rank, int position) override;
+ void getLocalRoute(NetCard* src, NetCard* dst, sg_platf_route_cbarg_t into, double* latency) override;
+ void parse_specific_arguments(sg_platf_cluster_cbarg_t cluster) override;
+ void seal() override;
+ void generateRouters();
+ void generateLinks();
+ void createLink(char* id, int numlinks, Link** linkup, Link** linkdown);
+ unsigned int* rankId_to_coords(int rankId);