TVM  0.9.4
graph.h
Go to the documentation of this file.
1 
3 #pragma once
4 
5 #include <tvm/graph/CallGraph.h>
8 
9 #include <memory>
10 
11 namespace tvm
12 {
13 
14 namespace utils
15 {
16 
23 template<typename Object, typename... Args>
24 inline std::unique_ptr<graph::CallGraph> generateUpdateGraph(std::shared_ptr<Object> obj, Args &&... args);
25 
26 template<typename Object, typename... Args>
27 inline std::unique_ptr<graph::CallGraph> generateUpdateGraph(std::shared_ptr<Object> obj, Args &&... args)
28 {
29  auto ptr = std::unique_ptr<graph::CallGraph>(new graph::CallGraph());
30  auto user = std::make_shared<graph::internal::Inputs>();
31  internal::parseSourcesAndOutputs(ptr.get(), user, obj, std::forward<Args>(args)...);
32  ptr->update();
33 
34  return ptr;
35 }
36 
37 } // namespace utils
38 
39 } // namespace tvm
Definition: CallGraph.h:23
void parseSourcesAndOutputs(graph::CallGraph *g, std::shared_ptr< graph::internal::Inputs > user, std::shared_ptr< Object > obj, Output output, Args &&... args)
Definition: graphDetails.h:47
std::unique_ptr< graph::CallGraph > generateUpdateGraph(std::shared_ptr< Object > obj, Args &&... args)
Definition: graph.h:27
Definition: Clock.h:12