A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Factorize code.
[simgrid.git]
/
src
/
kernel
/
routing
/
DragonflyZone.cpp
diff --git
a/src/kernel/routing/DragonflyZone.cpp
b/src/kernel/routing/DragonflyZone.cpp
index
a89ff4b
..
790b3d1
100644
(file)
--- a/
src/kernel/routing/DragonflyZone.cpp
+++ b/
src/kernel/routing/DragonflyZone.cpp
@@
-1,4
+1,4
@@
-/* Copyright (c) 2014-201
6
. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2014-201
7
. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
@@
-17,7
+17,7
@@
namespace simgrid {
namespace kernel {
namespace routing {
namespace kernel {
namespace routing {
-DragonflyZone::DragonflyZone(NetZone* father,
const char*
name) : ClusterZone(father, name)
+DragonflyZone::DragonflyZone(NetZone* father,
std::string
name) : ClusterZone(father, name)
{
}
{
}
@@
-41,7
+41,7
@@
void DragonflyZone::rankId_to_coords(int rankId, unsigned int (*coords)[4])
(*coords)[3] = rankId % numNodesPerBlade_;
}
(*coords)[3] = rankId % numNodesPerBlade_;
}
-void DragonflyZone::parse_specific_arguments(
sg_platf_cluster_cbarg_t
cluster)
+void DragonflyZone::parse_specific_arguments(
ClusterCreationArgs*
cluster)
{
std::vector<std::string> parameters;
std::vector<std::string> tmp;
{
std::vector<std::string> parameters;
std::vector<std::string> tmp;
@@
-161,7
+161,7
@@
void DragonflyZone::generateRouters()
}
}
}
}
-void DragonflyZone::createLink(
std::string
id, int numlinks, surf::LinkImpl** linkup, surf::LinkImpl** linkdown)
+void DragonflyZone::createLink(
const std::string&
id, int numlinks, surf::LinkImpl** linkup, surf::LinkImpl** linkdown)
{
*linkup = nullptr;
*linkdown = nullptr;
{
*linkup = nullptr;
*linkdown = nullptr;
@@
-176,13
+176,13
@@
void DragonflyZone::createLink(std::string id, int numlinks, surf::LinkImpl** li
std::string tmpID;
if (this->cluster_->sharing_policy == SURF_LINK_FULLDUPLEX) {
tmpID = linkTemplate.id + "_UP";
std::string tmpID;
if (this->cluster_->sharing_policy == SURF_LINK_FULLDUPLEX) {
tmpID = linkTemplate.id + "_UP";
- link = surf::LinkImpl::byName(tmpID
.c_str()
);
+ link = surf::LinkImpl::byName(tmpID);
*linkup = link; // check link?
tmpID = linkTemplate.id + "_DOWN";
*linkup = link; // check link?
tmpID = linkTemplate.id + "_DOWN";
- link = surf::LinkImpl::byName(tmpID
.c_str()
);
+ link = surf::LinkImpl::byName(tmpID);
*linkdown = link; // check link ?
} else {
*linkdown = link; // check link ?
} else {
- link = surf::LinkImpl::byName(linkTemplate.id
.c_str()
);
+ link = surf::LinkImpl::byName(linkTemplate.id);
*linkup = link;
*linkdown = link;
}
*linkup = link;
*linkdown = link;
}
@@
-286,11
+286,11
@@
void DragonflyZone::getLocalRoute(NetPoint* src, NetPoint* dst, sg_platf_route_c
if (dst->isRouter() || src->isRouter())
return;
if (dst->isRouter() || src->isRouter())
return;
- XBT_VERB("dragonfly getLocalRout from '%s'[%
d] to '%s'[%d
]", src->name().c_str(), src->id(), dst->name().c_str(),
+ XBT_VERB("dragonfly getLocalRout from '%s'[%
u] to '%s'[%u
]", src->name().c_str(), src->id(), dst->name().c_str(),
dst->id());
if ((src->id() == dst->id()) && hasLoopback_) {
dst->id());
if ((src->id() == dst->id()) && hasLoopback_) {
- std::pair<surf::LinkImpl*, surf::LinkImpl*> info = privateLinks_.at(
src->id() * linkCountPerNode_
);
+ std::pair<surf::LinkImpl*, surf::LinkImpl*> info = privateLinks_.at(
nodePosition(src->id())
);
route->link_list->push_back(info.first);
if (latency)
route->link_list->push_back(info.first);
if (latency)
@@
-318,7
+318,7
@@
void DragonflyZone::getLocalRoute(NetPoint* src, NetPoint* dst, sg_platf_route_c
*latency += myRouter->myNodes_[myCoords[3] * numLinksperLink_]->latency();
if (hasLimiter_) { // limiter for sender
*latency += myRouter->myNodes_[myCoords[3] * numLinksperLink_]->latency();
if (hasLimiter_) { // limiter for sender
- std::pair<surf::LinkImpl*, surf::LinkImpl*> info = privateLinks_.at(
src->id() * linkCountPerNode_ + hasLoopback_
);
+ std::pair<surf::LinkImpl*, surf::LinkImpl*> info = privateLinks_.at(
nodePositionWithLoopback(src->id())
);
route->link_list->push_back(info.first);
}
route->link_list->push_back(info.first);
}
@@
-364,13
+364,11
@@
void DragonflyZone::getLocalRoute(NetPoint* src, NetPoint* dst, sg_platf_route_c
route->link_list->push_back(currentRouter->blackLinks_[targetCoords[1]]);
if (latency)
*latency += currentRouter->blackLinks_[targetCoords[1]]->latency();
route->link_list->push_back(currentRouter->blackLinks_[targetCoords[1]]);
if (latency)
*latency += currentRouter->blackLinks_[targetCoords[1]]->latency();
- currentRouter = routers_[targetCoords[0] * (numChassisPerGroup_ * numBladesPerChassis_) +
- targetCoords[1] * numBladesPerChassis_ + targetCoords[2]];
}
}
if (hasLimiter_) { // limiter for receiver
}
}
if (hasLimiter_) { // limiter for receiver
- std::pair<surf::LinkImpl*, surf::LinkImpl*> info = privateLinks_.at(
dst->id() * linkCountPerNode_ + hasLoopback_
);
+ std::pair<surf::LinkImpl*, surf::LinkImpl*> info = privateLinks_.at(
nodePositionWithLoopback(dst->id())
);
route->link_list->push_back(info.first);
}
route->link_list->push_back(info.first);
}