X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/184b805aa8767a3b01366fa5a0d2fe739538e4ca..6c619fe932602290423c6a789c2aa034ae9f1cad:/src/surf/sg_platf.cpp diff --git a/src/surf/sg_platf.cpp b/src/surf/sg_platf.cpp index b69168e344..ce4449a540 100644 --- a/src/surf/sg_platf.cpp +++ b/src/surf/sg_platf.cpp @@ -332,15 +332,9 @@ void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster) info_loop.linkUp = Link::byName(tmp_link); info_loop.linkDown = Link::byName(tmp_link); free(tmp_link); + auto as_cluster = static_cast(current_as); - if (rankId*as_cluster->linkCountPerNode_ >= static_cast(as_cluster->privateLinks_.size())){ - s_surf_parsing_link_up_down_t dummy; - dummy.linkUp = nullptr; - dummy.linkDown = nullptr; - as_cluster->privateLinks_.resize(rankId*as_cluster->linkCountPerNode_,dummy); - } - as_cluster->privateLinks_.insert(as_cluster->privateLinks_.begin() + rankId*as_cluster->linkCountPerNode_, - info_loop); + as_cluster->privateLinks_.insert({rankId*as_cluster->linkCountPerNode_, info_loop}); } //add a limiter link (shared link to account for maximal bandwidth of the node) @@ -356,13 +350,13 @@ void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster) sg_platf_new_link(&link); info_lim.linkUp = info_lim.linkDown = Link::byName(tmp_link); free(tmp_link); - current_as->privateLinks_.insert(current_as->privateLinks_.begin() + rankId * current_as->linkCountPerNode_ + - current_as->hasLoopback_ , info_lim); + current_as->privateLinks_.insert( + {rankId * current_as->linkCountPerNode_ + current_as->hasLoopback_ , info_lim}); } //call the cluster function that adds the others links if (cluster->topology == SURF_CLUSTER_FAT_TREE) { - ((AsClusterFatTree*) current_as)->addProcessingNode(i); + static_cast(current_as)->addProcessingNode(i); } else { current_as->create_links_for_node(cluster, i, rankId, @@ -911,17 +905,11 @@ void sg_platf_new_hostlink(sg_platf_host_link_cbarg_t hostlink) xbt_assert(link_up_down.linkUp, "Link '%s' not found!",hostlink->link_up); xbt_assert(link_up_down.linkDown, "Link '%s' not found!",hostlink->link_down); - // If dynar is is greater than netcard id and if the host_link is already defined auto as_cluster = static_cast(current_routing); - if(static_cast(as_cluster->privateLinks_.size()) > netcard->id()){ - if (as_cluster->privateLinks_.at(netcard->id()).linkUp != nullptr) + + if (as_cluster->privateLinks_.find(netcard->id()) != as_cluster->privateLinks_.end()) surf_parse_error("Host_link for '%s' is already defined!",hostlink->id); - } else { - s_surf_parsing_link_up_down_t dummy; - dummy.linkUp = nullptr; - dummy.linkDown = nullptr; - as_cluster->privateLinks_.resize(netcard->id(), dummy); - } + XBT_DEBUG("Push Host_link for host '%s' to position %d", netcard->name(), netcard->id()); - as_cluster->privateLinks_.insert(as_cluster->privateLinks_.begin() + netcard->id(), link_up_down); + as_cluster->privateLinks_.insert({netcard->id(), link_up_down}); }