-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[AutoTVM] Added Droplet algorithm in TVM #14683
Conversation
Thank you for your contribution, more recently we are moving most of our automation effort toward MetaSchedule, which helps to unify different approaches and can also work as AutoTVM tuning and works for TensorIR. As a result, it would be great to think about how to make it work for metaschedule. In the meantime, the interface is still compatible so such tuner can be plugged into the existing infra |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @canesche, thanks for the PR.
Just noticed this is blocked on an error related to the commit messages guideline (https://tvm.apache.org/docs/contribute/pull_request.html#commit-message-guideline), specifically on the commit titles ending with .
, so when you fix that, then we'll have a full CI round and will be able to review it properly.
It would be also good to have some unit testing added in this PR, so that we validate and prevent it breaking in future.
Please make sure the different types of indexing work correctly (including multi_filter). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @leandron, thanks! I hope to contribute more often to TVM in the future. |
This PR adds the Droplet Search algorithm to AutoTVM. Droplet search
is a variation of the Coordinate Descent Algorithm. It relies on the
empirical observation that the search space formed by typical kernels
contains, within the same convex region, origin (the kernel without
optimizations) and the best kernel configuration.
Droplet search is deployed in the same setting as any other search
algorithm that is implemented in AutoTVM. Droplet search is expected
to run faster than gridSearch, randomSearch, GA, and XGBoost. It tends
to find kernels that are as good as those found by these other
techniques.
A detailed account of the algorithm can be found in this paper:
https://homepages.dcc.ufmg.br/~fernando/publications/papers/DropletSearch.pdf