diff --git a/libNeonSet/src/set/container/graph/GraphDependency.cpp b/libNeonSet/src/set/container/graph/GraphDependency.cpp index bc356a84..60486a14 100644 --- a/libNeonSet/src/set/container/graph/GraphDependency.cpp +++ b/libNeonSet/src/set/container/graph/GraphDependency.cpp @@ -52,7 +52,12 @@ auto GraphDependency:: getLabel() const -> std::string { - return GraphDependencyTypeUtil::toString(getType()); + std::stringstream s; + s << GraphDependencyTypeUtil::toString(getType()); + for(auto const& token : mTokens) { + s << "\\l" << token.toString(); + } + return s.str(); } auto GraphDependency:: diff --git a/libNeonSet/src/set/container/graph/GraphNode.cpp b/libNeonSet/src/set/container/graph/GraphNode.cpp index 7af3a45b..10906462 100644 --- a/libNeonSet/src/set/container/graph/GraphNode.cpp +++ b/libNeonSet/src/set/container/graph/GraphNode.cpp @@ -181,7 +181,11 @@ auto GraphNode:: s << "\\l - Execution: " << getContainer().getContainerExecutionType(); s << "\\lGraph "; s << "\\l - Node id: " << this->getGraphData().getUid(); - + auto tokens = this->getContainer().getContainerInterface().getTokens(); + s << "\\lTokens "; + for(auto t: tokens) { + s << "\\l - Token: " << t.toString(); + } addSchedulingInfo(s); s << "\\l ---- "; diff --git a/libNeonSkeleton/include/Neon/skeleton/Skeleton.h b/libNeonSkeleton/include/Neon/skeleton/Skeleton.h index 1bd9eacb..11437862 100644 --- a/libNeonSkeleton/include/Neon/skeleton/Skeleton.h +++ b/libNeonSkeleton/include/Neon/skeleton/Skeleton.h @@ -51,7 +51,7 @@ struct Skeleton } mOptions = options; mMultiGraph.init(mBackend, opWithSequenceExpanded, name, options); - mMultiGraph.ioToDot("DB_multiGpuGraph", name); + mMultiGraph.ioToDot("DB_multiGpuGraph", name, true); } diff --git a/libNeonSkeleton/src/skeleton/internal/multiGpuGraph.cpp b/libNeonSkeleton/src/skeleton/internal/multiGpuGraph.cpp index 16c935ed..1e198cd9 100644 --- a/libNeonSkeleton/src/skeleton/internal/multiGpuGraph.cpp +++ b/libNeonSkeleton/src/skeleton/internal/multiGpuGraph.cpp @@ -5,8 +5,8 @@ namespace Neon::skeleton::internal { void MultiXpuGraph::init(Neon::Backend& bk, const std::vector& operations, - std::string /*name*/, - Options options) + [[maybe_unused]] std::string name, + Options options) { getGraph() = Neon::set::container::Graph(bk); parse(bk.devSet().setCardinality(), @@ -17,16 +17,16 @@ void MultiXpuGraph::init(Neon::Backend& bk, // We fix them manually after all redundant dependencies are cleaned. fixingDependenciesWithBeginNode(); - // h_ioToDot("t0_" + name + ".dot", "i"); + ioToDot("t0_" + name + ".dot", "i", true); optimizations(options); - // h_ioToDot("t1_" + name + ".dot", "i"); + ioToDot("t1_" + name + ".dot", "i", true); communications(options); getGraph().removeRedundantDependencies(); - // h_ioToDot("t2_" + name + ".dot", "i"); + ioToDot("t2_" + name + ".dot", "i", true); this->computeScheduling(); - // h_ioToDot("final" + name + ".dot", "i"); + ioToDot("final" + name + ".dot", "i", true); } void MultiXpuGraph::parse(int setCardinalty,