Thanks for the comments! Please see my responses and let me know what you think.
* In the current proposal, user can manually specify the depdendency by `task.depend = rep_task`, and the user can implement any function to do so. On the other hand, we can also make it as a callback function like `autotvm.task.mark_depend(tasks, user_callback)`, but it raises concerns about the user callback function signature: 1. If we define a distance function is a function that returns the distance (in any metric) of any two tasks (`callback(tasks: List[Task]) -> List[List[Float]]`), it is still unclear how should we group them. 2. If we directly let user pass a callback function to group tasks (`callback(tasks: List[Task]) -> None`), it functions exactly the same as `mark_depend`, so it seems redundent. Based on the concerns, I'll prefer the current solution, and we can revisit it in the future when we have a more concrete idea about task pass. * New names based on your suggestions: * task.depend -> task.share_from * tuner.depend_mode -> tuner.share_mode -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/apache/incubator-tvm/issues/4188#issuecomment-549516927