AndrewZhaoLuo opened a new issue, #11656:
URL: https://github.com/apache/tvm/issues/11656

   Perhaps this is best described as feature request, regardless it is a little 
bit unintuitive.
   
   For both autoscheduler and autotvm, POpenPool is used extensively in 
building and measuring. Unfortunately, these spawn new processes so some state 
is lost in translation. 
   
   Of particular note are PassContexts which can control how things are lowered 
and have instrumentation to grab useful information along the lowering process. 
This also makes it impossible to change the pass settings for tuning easily I 
believe. 
   
   ### Expected behavior
   
   PassContext's should be respected for tuning. As we deal with processes, 
PassContexts and all their children need to be serialized. Documentation should 
also be improved to specify the behavior in these cases.
   
   PassInstrumentation might be a little difficult to handle all use cases as 
these can be used to pass and modify state which might be difficult across 
process boundaries in an intuitive way. 
   
   ### Actual behavior
   
   PassContext's configuration information is ignored for tuning.
   
   ### Environment
   
   This is a problem with TVM itself, the below script should do things.
   
   ### Steps to reproduce
   
   [In this script 
](https://github.com/AndrewZhaoLuo/TVM-Sandbox/blob/3440b463b49b5a41d7fb2926017e72ab11a5787d/autoscheduler/pass_context_not_preserved.py#L117)we
 have simple pass instrumentation which prints out a bunch of '*' after a pass 
is called. During tuning nothing is printed because the instrument is ignored, 
during building the final module however it is applied.


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