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]
