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
stringification
[simgrid.git]
/
src
/
surf
/
sg_platf.cpp
diff --git
a/src/surf/sg_platf.cpp
b/src/surf/sg_platf.cpp
index
ad15673
..
abb66df
100644
(file)
--- a/
src/surf/sg_platf.cpp
+++ b/
src/surf/sg_platf.cpp
@@
-190,14
+190,14
@@
void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster)
}
for (int i : *cluster->radicals) {
}
for (int i : *cluster->radicals) {
-
char * host_id = bprintf("%s%d%s", cluster->prefix, i, cluster->suffix)
;
-
char * link_id = bprintf("%s_link_%d", cluster->id,
i);
+
std::string host_id = std::string(cluster->prefix) + std::to_string(i) + cluster->suffix
;
+
std::string link_id = std::string(cluster->id) + "_link_" + std::to_string(
i);
- XBT_DEBUG("<host\tid=\"%s\"\tpower=\"%f\">", host_id, cluster->speeds.front());
+ XBT_DEBUG("<host\tid=\"%s\"\tpower=\"%f\">", host_id
.c_str()
, cluster->speeds.front());
s_sg_platf_host_cbarg_t host;
memset(&host, 0, sizeof(host));
s_sg_platf_host_cbarg_t host;
memset(&host, 0, sizeof(host));
- host.id = host_id;
+ host.id = host_id
.c_str()
;
if ((cluster->properties != nullptr) && (not cluster->properties->empty())) {
host.properties = new std::map<std::string, std::string>;
if ((cluster->properties != nullptr) && (not cluster->properties->empty())) {
host.properties = new std::map<std::string, std::string>;
@@
-212,7
+212,7
@@
void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster)
sg_platf_new_host(&host);
XBT_DEBUG("</host>");
sg_platf_new_host(&host);
XBT_DEBUG("</host>");
- XBT_DEBUG("<link\tid=\"%s\"\tbw=\"%f\"\tlat=\"%f\"/>", link_id, cluster->bw, cluster->lat);
+ XBT_DEBUG("<link\tid=\"%s\"\tbw=\"%f\"\tlat=\"%f\"/>", link_id
.c_str()
, cluster->bw, cluster->lat);
// All links are saved in a matrix;
// every row describes a single node; every node may have multiple links.
// All links are saved in a matrix;
// every row describes a single node; every node may have multiple links.
@@
-224,17
+224,17
@@
void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster)
simgrid::surf::LinkImpl* linkUp = nullptr;
simgrid::surf::LinkImpl* linkDown = nullptr;
if(cluster->loopback_bw > 0 || cluster->loopback_lat > 0){
simgrid::surf::LinkImpl* linkUp = nullptr;
simgrid::surf::LinkImpl* linkDown = nullptr;
if(cluster->loopback_bw > 0 || cluster->loopback_lat > 0){
- std::string tmp_link =
std::string(link_id)
+ "_loopback";
+ std::string tmp_link =
link_id
+ "_loopback";
XBT_DEBUG("<loopback\tid=\"%s\"\tbw=\"%f\"/>", tmp_link.c_str(), cluster->loopback_bw);
LinkCreationArgs link;
XBT_DEBUG("<loopback\tid=\"%s\"\tbw=\"%f\"/>", tmp_link.c_str(), cluster->loopback_bw);
LinkCreationArgs link;
- link.id = tmp_link
.c_str()
;
+ link.id = tmp_link;
link.bandwidth = cluster->loopback_bw;
link.latency = cluster->loopback_lat;
link.policy = SURF_LINK_FATPIPE;
sg_platf_new_link(&link);
link.bandwidth = cluster->loopback_bw;
link.latency = cluster->loopback_lat;
link.policy = SURF_LINK_FATPIPE;
sg_platf_new_link(&link);
- linkUp = simgrid::surf::LinkImpl::byName(tmp_link
.c_str()
);
- linkDown = simgrid::surf::LinkImpl::byName(tmp_link
.c_str()
);
+ linkUp = simgrid::surf::LinkImpl::byName(tmp_link);
+ linkDown = simgrid::surf::LinkImpl::byName(tmp_link);
auto as_cluster = static_cast<ClusterZone*>(current_as);
as_cluster->privateLinks_.insert({rankId * as_cluster->linkCountPerNode_, {linkUp, linkDown}});
auto as_cluster = static_cast<ClusterZone*>(current_as);
as_cluster->privateLinks_.insert({rankId * as_cluster->linkCountPerNode_, {linkUp, linkDown}});
@@
-248,12
+248,12
@@
void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster)
XBT_DEBUG("<limiter\tid=\"%s\"\tbw=\"%f\"/>", tmp_link.c_str(), cluster->limiter_link);
LinkCreationArgs link;
XBT_DEBUG("<limiter\tid=\"%s\"\tbw=\"%f\"/>", tmp_link.c_str(), cluster->limiter_link);
LinkCreationArgs link;
- link.id = tmp_link
.c_str()
;
+ link.id = tmp_link;
link.bandwidth = cluster->limiter_link;
link.latency = 0;
link.policy = SURF_LINK_SHARED;
sg_platf_new_link(&link);
link.bandwidth = cluster->limiter_link;
link.latency = 0;
link.policy = SURF_LINK_SHARED;
sg_platf_new_link(&link);
- linkDown = simgrid::surf::LinkImpl::byName(tmp_link
.c_str()
);
+ linkDown = simgrid::surf::LinkImpl::byName(tmp_link);
linkUp = linkDown;
current_as->privateLinks_.insert(
{rankId * current_as->linkCountPerNode_ + current_as->hasLoopback_, {linkUp, linkDown}});
linkUp = linkDown;
current_as->privateLinks_.insert(
{rankId * current_as->linkCountPerNode_ + current_as->hasLoopback_, {linkUp, linkDown}});
@@
-266,8
+266,6
@@
void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster)
current_as->create_links_for_node(cluster, i, rankId,
rankId*current_as->linkCountPerNode_ + current_as->hasLoopback_ + current_as->hasLimiter_ );
}
current_as->create_links_for_node(cluster, i, rankId,
rankId*current_as->linkCountPerNode_ + current_as->hasLoopback_ + current_as->hasLimiter_ );
}
- xbt_free(link_id);
- xbt_free(host_id);
rankId++;
}
delete cluster->properties;
rankId++;
}
delete cluster->properties;
@@
-276,9
+274,8
@@
void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster)
XBT_DEBUG(" ");
XBT_DEBUG("<router id=\"%s\"/>", cluster->router_id);
if (not cluster->router_id || not strcmp(cluster->router_id, "")) {
XBT_DEBUG(" ");
XBT_DEBUG("<router id=\"%s\"/>", cluster->router_id);
if (not cluster->router_id || not strcmp(cluster->router_id, "")) {
- char* newid = bprintf("%s%s_router%s", cluster->prefix, cluster->id, cluster->suffix);
- current_as->router_ = sg_platf_new_router(newid, NULL);
- free(newid);
+ std::string newid = std::string(cluster->prefix) + cluster->id + "_router" + cluster->suffix;
+ current_as->router_ = sg_platf_new_router(newid.c_str(), NULL);
} else {
current_as->router_ = sg_platf_new_router(cluster->router_id, NULL);
}
} else {
current_as->router_ = sg_platf_new_router(cluster->router_id, NULL);
}
@@
-295,7
+292,7
@@
void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster)
XBT_DEBUG("<link\tid=\"%s\" bw=\"%f\" lat=\"%f\"/>", link.id.c_str(), cluster->bb_bw, cluster->bb_lat);
sg_platf_new_link(&link);
XBT_DEBUG("<link\tid=\"%s\" bw=\"%f\" lat=\"%f\"/>", link.id.c_str(), cluster->bb_bw, cluster->bb_lat);
sg_platf_new_link(&link);
- routing_cluster_add_backbone(simgrid::surf::LinkImpl::byName(link.id
.c_str()
));
+ routing_cluster_add_backbone(simgrid::surf::LinkImpl::byName(link.id));
}
XBT_DEBUG("</AS>");
}
XBT_DEBUG("</AS>");
@@
-317,10
+314,10
@@
void routing_cluster_add_backbone(simgrid::surf::LinkImpl* bb)
XBT_DEBUG("Add a backbone to AS '%s'", current_routing->getCname());
}
XBT_DEBUG("Add a backbone to AS '%s'", current_routing->getCname());
}
-void sg_platf_new_cabinet(
sg_platf_cabinet_cbarg_t
cabinet)
+void sg_platf_new_cabinet(
CabinetCreationArgs*
cabinet)
{
for (int radical : *cabinet->radicals) {
{
for (int radical : *cabinet->radicals) {
- std::string hostname =
std::string(cabinet->prefix) + std::to_string(radical) + std::string(cabinet->suffix)
;
+ std::string hostname =
cabinet->prefix + std::to_string(radical) + cabinet->suffix
;
s_sg_platf_host_cbarg_t host;
memset(&host, 0, sizeof(host));
host.pstate = 0;
s_sg_platf_host_cbarg_t host;
memset(&host, 0, sizeof(host));
host.pstate = 0;
@@
-427,12
+424,6
@@
void sg_platf_new_bypassRoute(sg_platf_route_cbarg_t bypassRoute)
void sg_platf_new_process(sg_platf_process_cbarg_t process)
{
void sg_platf_new_process(sg_platf_process_cbarg_t process)
{
- std::map<std::string, std::string> props;
- if (process->properties) {
- for (auto elm : *process->properties)
- props.insert({elm.first, elm.second});
- delete process->properties;
- }
sg_host_t host = sg_host_by_name(process->host);
if (not host) {
// The requested host does not exist. Do a nice message to the user
sg_host_t host = sg_host_by_name(process->host);
if (not host) {
// The requested host does not exist. Do a nice message to the user
@@
-468,7
+459,7
@@
void sg_platf_new_process(sg_platf_process_cbarg_t process)
arg->data = nullptr;
arg->host = host;
arg->kill_time = kill_time;
arg->data = nullptr;
arg->host = host;
arg->kill_time = kill_time;
- arg->properties =
&prop
s;
+ arg->properties =
process->propertie
s;
host->extension<simgrid::simix::Host>()->boot_processes.push_back(arg);
host->extension<simgrid::simix::Host>()->boot_processes.push_back(arg);
@@
-480,7
+471,7
@@
void sg_platf_new_process(sg_platf_process_cbarg_t process)
arg->data = nullptr;
arg->host = host;
arg->kill_time = kill_time;
arg->data = nullptr;
arg->host = host;
arg->kill_time = kill_time;
- arg->properties =
&prop
s;
+ arg->properties =
process->propertie
s;
XBT_DEBUG("Process %s@%s will be started at time %f", arg->name.c_str(), arg->host->getCname(), start_time);
SIMIX_timer_set(start_time, [arg, auto_restart]() {
XBT_DEBUG("Process %s@%s will be started at time %f", arg->name.c_str(), arg->host->getCname(), start_time);
SIMIX_timer_set(start_time, [arg, auto_restart]() {
@@
-697,14
+688,14
@@
void sg_platf_new_hostlink(sg_platf_host_link_cbarg_t hostlink)
as_cluster->privateLinks_.insert({netpoint->id(), {linkUp, linkDown}});
}
as_cluster->privateLinks_.insert({netpoint->id(), {linkUp, linkDown}});
}
-void sg_platf_new_trace(
sg_platf_trace_cbarg_t
trace)
+void sg_platf_new_trace(
TraceCreationArgs*
trace)
{
tmgr_trace_t tmgr_trace;
{
tmgr_trace_t tmgr_trace;
- if (
trace->file && strcmp(trace->file, "") != 0
) {
+ if (
not trace->file.empty()
) {
tmgr_trace = tmgr_trace_new_from_file(trace->file);
} else {
tmgr_trace = tmgr_trace_new_from_file(trace->file);
} else {
- xbt_assert(
strcmp(trace->pc_data, "")
,
-
"Trace '%s' must have either a content, or point to a file on disk.",trace->id
);
+ xbt_assert(
not trace->pc_data.empty(), "Trace '%s' must have either a content, or point to a file on disk."
,
+
trace->id.c_str()
);
tmgr_trace = tmgr_trace_new_from_string(trace->id, trace->pc_data, trace->periodicity);
}
traces_set_list.insert({trace->id, tmgr_trace});
tmgr_trace = tmgr_trace_new_from_string(trace->id, trace->pc_data, trace->periodicity);
}
traces_set_list.insert({trace->id, tmgr_trace});