masahi opened a new pull request, #14675:
URL: https://github.com/apache/tvm/pull/14675

   I found that if I use `BindParams` early in my BYOC workflow, some Relax 
passes become extremely slow. For example, `partition_for_cutlass` takes more 
than 40 sec on SD UNet if parameters are bound, while otherwise it only takes 1 
sec.
   
   This massive regression is due to the `unordered_map` used by 
`BlockBuilder`, 
https://github.com/apache/tvm/blob/unity/src/relax/ir/block_builder.cc#L381-L382
   
   This map is keyed on `BaseFunc` and it uses structural equal / hash. So if 
large parameters are bound on each func, those params are hashed / compared 
repeatedly. 
   
   This is solved by introducing a custom struct hash that ignores NDArray 
content.
   
   @tqchen @Hzfengsy @slyubomirsky 


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