Skip to content
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

[Ansor][AutoTVM v2.0] Phase 1: Add RPC Runner #6077

Merged
merged 7 commits into from
Jul 20, 2020

Conversation

jcf94
Copy link
Contributor

@jcf94 jcf94 commented Jul 16, 2020

For full upstream plan, see Ansor RFC.

In this PR, we bring the RPCRunner. This uses RPC call to measures the time cost of programs on remote devices. And this can also be used in local running to insulate the thread environment.

The RPCRunner is critical for measuring schedules in ARM CPU and NVIDIA GPU.

p.s. This implementation is almost the same with what in AutoTVM's code base, will consider to merge them later.

cc @tqchen @merrymercy @FrozenGene @minminsun @comaniac

@FrozenGene
Copy link
Member

@jcf94 Gental reminder: To reproduce Ansor paper's result, we should turn on clflush (for x86 cpu) and non empty array. clflush has been merged, you should consider to put it in this pr(clflush link, non empty array pr I will do it as soon as possile. If that can not be merged before this pr, I could handle it after this pr is merged. Wish this info could make you aware we have some depentcy. Thanks.

@junrushao
Copy link
Member

Thanks for the PR! Will take a look this weekend😄

@jcf94 jcf94 changed the title [Ansor][AutoTVM v2.0] Part 1: Add RPC Runner [Ansor][AutoTVM v2.0] Phase 1: Add RPC Runner Jul 17, 2020
@jcf94
Copy link
Contributor Author

jcf94 commented Jul 17, 2020

@jcf94 Gental reminder: To reproduce Ansor paper's result, we should turn on clflush (for x86 cpu) and non empty array. clflush has been merged, you should consider to put it in this pr(clflush link, non empty array pr I will do it as soon as possile. If that can not be merged before this pr, I could handle it after this pr is merged. Wish this info could make you aware we have some depentcy. Thanks.

Ok, actually this is the least important part of phase 1.
We can left this PR later, or I think it does seem better for you to fix the non empty & clflush parts after this PR. I'll add some TODO hints in the code.

@FrozenGene
Copy link
Member

@jcf94 Gental reminder: To reproduce Ansor paper's result, we should turn on clflush (for x86 cpu) and non empty array. clflush has been merged, you should consider to put it in this pr(clflush link, non empty array pr I will do it as soon as possile. If that can not be merged before this pr, I could handle it after this pr is merged. Wish this info could make you aware we have some depentcy. Thanks.

Ok, actually this is the least important part of phase 1.

We can left this PR later, or I think it does seem better for you to fix the non empty & clflush parts after this PR. I'll add some TODO hints in the code.

fine. We could add TODO now and I could handle it later.

Copy link
Member

@junrushao junrushao left a comment

Choose a reason for hiding this comment

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

Otherwise LGTM

tests/python/unittest/test_auto_scheduler_measure.py Outdated Show resolved Hide resolved
@merrymercy merrymercy merged commit 50f8047 into apache:master Jul 20, 2020
@jcf94 jcf94 deleted the rpc_runner branch July 29, 2020 07:29
trevor-m pushed a commit to trevor-m/tvm that referenced this pull request Aug 26, 2020
* Add rpc runner

* Update

* Update

* Add clflush & non-empty ndarray TODO hints

* Update

* UT Update

* Update timeout in UT
trevor-m pushed a commit to trevor-m/tvm that referenced this pull request Aug 26, 2020
* Add rpc runner

* Update

* Update

* Add clflush & non-empty ndarray TODO hints

* Update

* UT Update

* Update timeout in UT
trevor-m pushed a commit to trevor-m/tvm that referenced this pull request Sep 2, 2020
* Add rpc runner

* Update

* Update

* Add clflush & non-empty ndarray TODO hints

* Update

* UT Update

* Update timeout in UT
trevor-m pushed a commit to neo-ai/tvm that referenced this pull request Sep 3, 2020
* Add rpc runner

* Update

* Update

* Add clflush & non-empty ndarray TODO hints

* Update

* UT Update

* Update timeout in UT
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants