X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/80b0dab1bd7ba4a54252a45cba41e33991e9f6ff..fe4080b8dd04acb2074ca72d36e3019acddea455:/src/dag/loaders.cpp diff --git a/src/dag/loaders.cpp b/src/dag/loaders.cpp index f0d18268fd..57ec032b56 100644 --- a/src/dag/loaders.cpp +++ b/src/dag/loaders.cpp @@ -21,6 +21,11 @@ #include "dax_dtd.c" #if SIMGRID_HAVE_JSON +// Disable implicit conversions. See https://github.com/nlohmann/json#implicit-conversions +#ifdef JSON_USE_IMPLICIT_CONVERSIONS +#undef JSON_USE_IMPLICIT_CONVERSIONS +#endif +#define JSON_USE_IMPLICIT_CONVERSIONS 0 #include #include #endif @@ -101,14 +106,19 @@ std::vector create_DAG_from_json(const std::string& filename) for (auto const& task: data["workflow"]["tasks"]) { if (task["type"] == "compute") { - current = Exec::init()->set_name(task["name"])->set_flops_amount(task["runtime"]); + current = + Exec::init()->set_name(task["name"].get())->set_flops_amount(task["runtimeInSeconds"].get()); if (task.contains("machine")) - dynamic_cast(current.get())->set_host(simgrid::s4u::Engine::get_instance()->host_by_name(task["machine"])); + dynamic_cast(current.get()) + ->set_host(simgrid::s4u::Engine::get_instance()->host_by_name(task["machine"].get())); } else if (task["type"] == "transfer"){ - current = Comm::sendto_init()->set_name(task["name"])->set_payload_size(task["bytesWritten"]); + current = Comm::sendto_init() + ->set_name(task["name"].get()) + ->set_payload_size(task["writtenBytes"].get()); if (task.contains("machine")) - comms_destinations[current] = simgrid::s4u::Engine::get_instance()->host_by_name(task["machine"]); + comms_destinations[current] = + simgrid::s4u::Engine::get_instance()->host_by_name(task["machine"].get()); if (task["parents"].size() == 1) { ActivityPtr parent_activity; for (auto const& activity: dag) { @@ -130,7 +140,7 @@ std::vector create_DAG_from_json(const std::string& filename) dag.push_back(current); for (auto const& parent : task["parents"]) - successors[parent].push_back(current); + successors[parent.get()].push_back(current); } // Assign successors for (auto const& [parent, successors_list] : successors) @@ -146,7 +156,7 @@ std::vector create_DAG_from_json(const std::string& filename) // Start only Activities with dependencies solved for (auto const& activity: dag) { - if (dynamic_cast(activity.get()) != nullptr and activity->dependencies_solved()) + if (dynamic_cast(activity.get()) != nullptr && activity->dependencies_solved()) activity->start(); } return dag;