X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a18117755285a374ec3d5830309c924f2830e3ba..a9c7137c5855dfaf080dc89e5d2a3367019d0a5a:/src/kernel/routing/DragonflyZone.hpp diff --git a/src/kernel/routing/DragonflyZone.hpp b/src/kernel/routing/DragonflyZone.hpp index 767d0fc16d..d9a6016e5c 100644 --- a/src/kernel/routing/DragonflyZone.hpp +++ b/src/kernel/routing/DragonflyZone.hpp @@ -17,18 +17,16 @@ public: unsigned int group_; unsigned int chassis_; unsigned int blade_; - surf::Link** blueLinks_ = nullptr; - surf::Link** blackLinks_ = nullptr; - surf::Link** greenLinks_ = nullptr; - surf::Link** myNodes_ = nullptr; + surf::LinkImpl** blueLinks_ = nullptr; + surf::LinkImpl** blackLinks_ = nullptr; + surf::LinkImpl** greenLinks_ = nullptr; + surf::LinkImpl** myNodes_ = nullptr; DragonflyRouter(int i, int j, int k); ~DragonflyRouter(); }; -/** - * \class AsClusterDragonfly - * - * \brief Dragonfly representation and routing. +/** @ingroup ROUTING_API + * @brief NetZone using a Dragonfly topology * * Generate dragonfly according to the topology asked for, according to: * Cray Cascade: a Scalable HPC System based on a Dragonfly Network @@ -53,24 +51,24 @@ public: * LIMITATIONS (for now): * - Routing is only static and uses minimal routes. * - When n links are used between two routers/groups, we consider only one link with n times the bandwidth (needs to - * be validated on a real system) + * be validated on a real system) * - All links have the same characteristics for now * - Blue links are all attached to routers in the chassis n°0. This limits * the number of groups possible to the number of blades in a chassis. This * is also not realistic, as blue level can use more links than a single * Aries can handle, thus it should use several routers. */ -class XBT_PRIVATE AsClusterDragonfly : public AsCluster { +class XBT_PRIVATE DragonflyZone : public ClusterZone { public: - explicit AsClusterDragonfly(As* father, const char* name); - ~AsClusterDragonfly() override; + 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 getLocalRoute(NetPoint* src, NetPoint* 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); + void createLink(char* id, int numlinks, surf::LinkImpl** linkup, surf::LinkImpl** linkdown); unsigned int* rankId_to_coords(int rankId); private: