FrozenGene commented on pull request #5914:
URL: https://github.com/apache/incubator-tvm/pull/5914#issuecomment-654758540


   > Ah, you are right, right now it is hard to pass function as an argument to 
the remote because it is wrapped under the std::function, we could lift the 
restriction later once we fold the PackedFunc as an object.
   > 
   > Right now we might need to pass fprepare by string as its name which skips 
the first argument by default.
   > 
   > ```c++
   > f = mod.time_evaluator("myfunc", repeat=10, 
fprepare="cache_flush_cpu_non_first_arg")
   > ```
   > 
   > It is still a bit more flexible than A0, as it enables multiple cache 
flush options but less flexible than A1. The migration to A1 possible though 
later.
   
   Another point I want to do one round of quick discussion. When we tune 
single op / single layer network performance, we don't want to do cache flush 
so that we could get maximum performance. Previous pr use environment value 
could control it easily (setting it in tune_network but doesn't set it when to 
tune single layer network). If we fold it into time_evaluator, how to 
distinguish these two conditions? One method I could come up is we could add 
one extra tuning option (like `enable_cache_flush`, default value could be 
False) for measure. Do you have better suggestions?


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