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

Reply via email to