jroesch commented on a change in pull request #7518:
URL: https://github.com/apache/tvm/pull/7518#discussion_r603734939



##########
File path: src/relay/backend/graph_runtime_codegen.cc
##########
@@ -181,23 +186,56 @@ class GraphOpNode : public GraphNode {
   const std::string op_type_name_{"tvm_op"};
 };
 
-/*! \brief Code generator for graph runtime */
+/*! \brief Code generator for the graph runtime, produces a module containing 
the graph JSON,
+ * module, and parameters.
+ */
 class GraphRuntimeCodegen : public 
backend::MemoizedExprTranslator<std::vector<GraphNodeRef>> {
  public:
   GraphRuntimeCodegen(runtime::Module* mod, const TargetsMap& targets) : 
mod_(mod) {
-    compile_engine_ = CompileEngine::Global();
     targets_ = targets;
   }
 
   LoweredOutput Codegen(relay::Function func) {
-    auto pf = GetPackedFunc("relay.backend.GraphPlanMemory");
-    storage_device_map_ = (*pf)(func);
+    // Jared: why do we do this? just call C++ API.

Review comment:
       I think we should ask what do we allow customization of what and where ? 
I think allowing people to wholesale replace the lowering/memory/planning/etc 
in an ad-hoc way "seems bad", which effectively is all of these hooks (that I'm 
removing) do right now. They allow you to just arbitrarily overload parts of 
the compiler with custom code which is pretty non-compositional and hard to 
reason about since in certain cases, i.e Python loaded or not the behavior of 
the compiler is completely different. 




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to