Skip to content

[AutoTVM] Added Droplet algorithm in TVM#14683

Merged
leandron merged 9 commits intoapache:mainfrom
canesche:main
Apr 28, 2023
Merged

[AutoTVM] Added Droplet algorithm in TVM#14683
leandron merged 9 commits intoapache:mainfrom
canesche:main

Conversation

@canesche
Copy link
Copy Markdown
Contributor

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

@tvm-bot
Copy link
Copy Markdown
Collaborator

tvm-bot commented Apr 20, 2023

Thanks for contributing to TVM! Please refer to the contributing guidelines https://tvm.apache.org/docs/contribute/ for useful information and tips. Please request code reviews from Reviewers by @-ing them in a comment.

Generated by tvm-bot

@canesche canesche changed the title Added Droplet algorithm in TVM. Added Droplet algorithm in TVM Apr 20, 2023
@canesche canesche changed the title Added Droplet algorithm in TVM [Unity] Added Droplet algorithm in TVM Apr 20, 2023
@tqchen
Copy link
Copy Markdown
Member

tqchen commented Apr 21, 2023

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

@Hzfengsy Hzfengsy changed the title [Unity] Added Droplet algorithm in TVM [AutoTVM] Added Droplet algorithm in TVM Apr 24, 2023
Copy link
Copy Markdown
Contributor

@leandron leandron left a 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.

@Icemist
Copy link
Copy Markdown
Contributor

Icemist commented Apr 24, 2023

Please make sure the different types of indexing work correctly (including multi_filter).
For this make tests similar to test_autotvm_ga_tuner.py, test_autotvm_index_tuner.py, test_autotvm_space.py from tests/python/unittest/ folder.
👍🏻

Copy link
Copy Markdown
Contributor

@leandron leandron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks @canesche @Icemist. Happy for this PR to be merged once CI is green.

@canesche
Copy link
Copy Markdown
Contributor Author

Hi @leandron, thanks! I hope to contribute more often to TVM in the future.

@leandron leandron merged commit c254b75 into apache:main Apr 28, 2023
@leandron
Copy link
Copy Markdown
Contributor

leandron commented Apr 28, 2023

This is now merged. Thanks @canesche @Icemist @tqchen!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants