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

[AutoTVM] AutoTVM incorrect measurement #5215

Closed
4 of 6 tasks
FrozenGene opened this issue Apr 2, 2020 · 11 comments
Closed
4 of 6 tasks

[AutoTVM] AutoTVM incorrect measurement #5215

FrozenGene opened this issue Apr 2, 2020 · 11 comments

Comments

@FrozenGene
Copy link
Member

FrozenGene commented Apr 2, 2020

Our AutoTVM use debug_skip_region to skip our precompute stage (like precompute kernel). However, debug_skip_region can not reflect practical running, which just only create empty tensor for it. Empty tensor will make AutoTVM record the performance incorrect. This condition will become worse like Winograd. In Winograd, our weight shape will be changed from (KH, KW, CO, CI) to (alpha, alpha, CO, CI). Alpha equals to tile_size + KH - 1. If tile_size is 4 (KH is 3), then alpha is 6. So to avoid this issue, we should avoid using debug_skip_region in all platforms of AutoTVM template and use the technique like this PR: #5200.

Open this issue to track this.

@tqchen
Copy link
Member

tqchen commented Apr 21, 2020

@FrozenGene what is the status of this issue?

@FrozenGene
Copy link
Member Author

@FrozenGene what is the status of this issue?

This issue wants to track all template of using debug_skip_region(like arm / cuda and so on). Currently, we only fix intel conv2d. I think I should list the target we should fix.

@kevinthesun
Copy link
Contributor

@FrozenGene In #5200 we discussed another source of autotvm inaccurate measurement due to empty input tensor. Do we have a timeline to fix that?

@FrozenGene
Copy link
Member Author

@FrozenGene In #5200 we discussed another source of autotvm inaccurate measurement due to empty input tensor. Do we have a timeline to fix that?

I hope we could bring this with Auto Scheduler this month if every thing goes well.

@FrozenGene
Copy link
Member Author

@FrozenGene In #5200 we discussed another source of autotvm inaccurate measurement due to empty input tensor. Do we have a timeline to fix that?

@kevinthesun FYI. We are rebasing our code based on the laster master. After completing it, this fix will be brought in.

@tqchen
Copy link
Member

tqchen commented Jul 21, 2020

@FrozenGene please update the status of this issue

@tqchen
Copy link
Member

tqchen commented Aug 20, 2020

ping @FrozenGene

@FrozenGene
Copy link
Member Author

Currently, as listed, we have completed Intel CPU / ARM CPU / Bifrost / Mali (thanks to community's help) implementation except cuda (some progress we have done like conv2d_nhwc_winograd / conv3d_winograd when we review related prs) / intel graphics.

@tqchen
Copy link
Member

tqchen commented Aug 21, 2020

OK, we will leave the issue open then, please remember to update it as we add more improvements.

@tqchen
Copy link
Member

tqchen commented Nov 1, 2020

@FrozenGene please check if we can close this issue either due to non-actionable status(stale) or completion

@FrozenGene
Copy link
Member Author

i think we could close it as Ansor solves the problem for all platforms. For AutoTVM's cuda platform, there is no activity on it. If anyone is interested on it, he / she could do it for cuda on AutoTVM too.

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

No branches or pull requests

3 participants