masahi commented on a change in pull request #10578:
URL: https://github.com/apache/tvm/pull/10578#discussion_r826573110



##########
File path: src/meta_schedule/integration.cc
##########
@@ -121,14 +113,18 @@ ApplyHistoryBest::ApplyHistoryBest(Database database) {
   data_ = n;
 }
 
-Optional<ObjectRef> ApplyHistoryBestNode::Query(runtime::String task_name, 
IRModule mod,
-                                                Target target,
-                                                Optional<Array<IRModule>> 
dispatched) {
+IRModule ApplyHistoryBestNode::Query(runtime::String task_name, IRModule mod, 
Target target,
+                                     Optional<Array<IRModule>> dispatched) {
   ICHECK(dispatched.defined());
   ICHECK_EQ(dispatched.value().size(), 1);
   ICHECK(HasOnlyOneFunction<relay::Function>(mod)) << mod;
   IRModule prim_mod = dispatched.value()[0];
   ICHECK(HasOnlyOneFunction<tir::PrimFunc>(prim_mod)) << prim_mod;
+  // TODO(masahi): parse_mod below replaces the orginal function key with 
"main".
+  // This is necessary because some scheduling primitives requires the 
PrimFunc key be "main".

Review comment:
       Is this `Lookup` strictly necessary? 
https://github.com/apache/tvm/blob/96416c4941df0ba292dcf2f7ddb35c8909860341/src/tir/schedule/primitive/get_block_loop.cc#L42
   
   I think we only have one function per mod during tuning. For these cases, 
can we introduce another interface of `GetBlock`, that doesn't require func 
name, and use something like `GetOnlyOneFunction` to retrieve the function?  




-- 
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.

To unsubscribe, e-mail: [email protected]

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


Reply via email to