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
Remove unused type definitions.
[simgrid.git]
/
src
/
simdag
/
sd_dotloader.cpp
diff --git
a/src/simdag/sd_dotloader.cpp
b/src/simdag/sd_dotloader.cpp
index
b4f8b3b
..
536d34b
100644
(file)
--- a/
src/simdag/sd_dotloader.cpp
+++ b/
src/simdag/sd_dotloader.cpp
@@
-1,21
+1,22
@@
-/* Copyright (c) 2009-201
7
. The SimGrid Team.
+/* Copyright (c) 2009-201
9
. 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. */
#include "simdag_private.hpp"
* 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. */
#include "simdag_private.hpp"
+#include "simgrid/s4u/Engine.hpp"
#include "simgrid/simdag.h"
#include "src/internal_config.h"
#include "xbt/file.hpp"
#include <cstring>
#include <unordered_map>
#include "simgrid/simdag.h"
#include "src/internal_config.h"
#include "xbt/file.hpp"
#include <cstring>
#include <unordered_map>
-XBT_LOG_NEW_DEFAULT_SUBCATEGORY(sd_dotparse, sd, "Parsing DOT files");
-
#if HAVE_GRAPHVIZ
#include <graphviz/cgraph.h>
#if HAVE_GRAPHVIZ
#include <graphviz/cgraph.h>
+XBT_LOG_NEW_DEFAULT_SUBCATEGORY(sd_dotparse, sd, "Parsing DOT files");
+
xbt_dynar_t SD_dotload_generic(const char* filename, bool sequential, bool schedule);
static void dot_task_p_free(void *task) {
xbt_dynar_t SD_dotload_generic(const char* filename, bool sequential, bool schedule);
static void dot_task_p_free(void *task) {
@@
-177,15
+178,15
@@
xbt_dynar_t SD_dotload_generic(const char* filename, bool sequential, bool sched
task = SD_task_create_comm_e2e(name.c_str(), nullptr, size);
else
task = SD_task_create_comm_par_mxn_1d_block(name.c_str(), nullptr, size);
task = SD_task_create_comm_e2e(name.c_str(), nullptr, size);
else
task = SD_task_create_comm_par_mxn_1d_block(name.c_str(), nullptr, size);
- SD_task_dependency_add(
nullptr, nullptr,
src, task);
- SD_task_dependency_add(
nullptr, nullptr,
task, dst);
+ SD_task_dependency_add(src, task);
+ SD_task_dependency_add(task, dst);
jobs.insert({name, task});
xbt_dynar_push(result, &task);
} else {
XBT_WARN("Task '%s' is defined more than once", name.c_str());
}
} else {
jobs.insert({name, task});
xbt_dynar_push(result, &task);
} else {
XBT_WARN("Task '%s' is defined more than once", name.c_str());
}
} else {
- SD_task_dependency_add(
nullptr, nullptr,
src, dst);
+ SD_task_dependency_add(src, dst);
}
}
}
}
}
}
@@
-198,12
+199,12
@@
xbt_dynar_t SD_dotload_generic(const char* filename, bool sequential, bool sched
xbt_dynar_foreach (result, i, task){
if (task->predecessors->empty() && task->inputs->empty() && task != root) {
XBT_DEBUG("Task '%s' has no source. Add dependency from 'root'", task->name);
xbt_dynar_foreach (result, i, task){
if (task->predecessors->empty() && task->inputs->empty() && task != root) {
XBT_DEBUG("Task '%s' has no source. Add dependency from 'root'", task->name);
- SD_task_dependency_add(
nullptr, nullptr,
root, task);
+ SD_task_dependency_add(root, task);
}
if (task->successors->empty() && task->outputs->empty() && task != end) {
XBT_DEBUG("Task '%s' has no destination. Add dependency to 'end'", task->name);
}
if (task->successors->empty() && task->outputs->empty() && task != end) {
XBT_DEBUG("Task '%s' has no destination. Add dependency to 'end'", task->name);
- SD_task_dependency_add(
nullptr, nullptr,
task, end);
+ SD_task_dependency_add(task, end);
}
}
}
}
@@
-212,22
+213,22
@@
xbt_dynar_t SD_dotload_generic(const char* filename, bool sequential, bool sched
if(schedule){
if (schedule_success) {
if(schedule){
if (schedule_success) {
- sg_host_t* workstations = sg_host_list();
+ std::vector<simgrid::s4u::Host*> hosts = simgrid::s4u::Engine::get_instance()->get_all_hosts();
+
for (auto const& elm : computers) {
SD_task_t previous_task = nullptr;
for (auto const& elm : computers) {
SD_task_t previous_task = nullptr;
- for (auto const& task : *elm.second) {
+ for (auto const&
cur_
task : *elm.second) {
/* add dependency between the previous and the task to avoid parallel execution */
/* add dependency between the previous and the task to avoid parallel execution */
- if
(task)
{
- if (previous_task && not SD_task_dependency_exists(previous_task, task))
- SD_task_dependency_add(
nullptr, nullptr, previous_task,
task);
+ if
(cur_task)
{
+ if (previous_task && not SD_task_dependency_exists(previous_task,
cur_
task))
+ SD_task_dependency_add(
previous_task, cur_
task);
- SD_task_schedulel(
task, 1, workstations[atoi(elm.first.c_str()
)]);
- previous_task = task;
+ SD_task_schedulel(
cur_task, 1, hosts[std::stod(elm.first
)]);
+ previous_task =
cur_
task;
}
}
delete elm.second;
}
}
}
delete elm.second;
}
- xbt_free(workstations);
} else {
XBT_WARN("The scheduling is ignored");
for (auto const& elm : computers)
} else {
XBT_WARN("The scheduling is ignored");
for (auto const& elm : computers)
@@
-238,7
+239,7
@@
xbt_dynar_t SD_dotload_generic(const char* filename, bool sequential, bool sched
}
if (result && not acyclic_graph_detail(result)) {
}
if (result && not acyclic_graph_detail(result)) {
- std::string base = simgrid::xbt::Path(filename).get
Base
name();
+ std::string base = simgrid::xbt::Path(filename).get
_base_
name();
XBT_ERROR("The DOT described in %s is not a DAG. It contains a cycle.", base.c_str());
xbt_dynar_free(&result);
result = nullptr;
XBT_ERROR("The DOT described in %s is not a DAG. It contains a cycle.", base.c_str());
xbt_dynar_free(&result);
result = nullptr;