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

[Test] Fix AutoScheduler test to cover Conv2D Winograd #8539

Merged
merged 52 commits into from
Jul 29, 2021
Merged

[Test] Fix AutoScheduler test to cover Conv2D Winograd #8539

merged 52 commits into from
Jul 29, 2021

Conversation

sunjiweiswift
Copy link
Contributor

tvm/python/tvm/relay/op/strategy/x86.py
147-159
judge_winograd_auto_scheduler = False
if len(kernel.shape) == 4:
kernel_h, kernel_w, _, co = get_const_tuple(kernel.shape)
judge_winograd_auto_scheduler = (
"float" in data.dtype
and "float" in kernel.dtype
and kernel_h == 3
and kernel_w == 3
and stride_h == 1
and stride_w == 1
and dilation_h == 1
and dilation_w == 1
and 64 < co < 512
# The last condition of co is based on our profiling of resnet workloads
# on skylake avx512 machines. We found winograd is faster than direct
# only when co is within this range
)
"co" need large than 64
outc defaults is 32
can not enter winograd

Copy link
Contributor

@comaniac comaniac left a comment

Choose a reason for hiding this comment

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

LGTM. cc @jcf94

@comaniac comaniac changed the title [UnitTests]Winograd ut outc <= 64 [Test] Fix AutoScheduler test to cover Conv2D Winograd Jul 23, 2021
@masahi masahi merged commit 774c0e5 into apache:main Jul 29, 2021
@sunjiweiswift sunjiweiswift deleted the winogradUT branch July 29, 2021 04:33
ylc pushed a commit to ylc/tvm that referenced this pull request Sep 29, 2021
* optimize resize vertor

* tmp

* DoMultiLevelTiling

* modify size_t to int

* modify

* modify level fill

* Update utils.cc

modify format_lower

* format lower count

* delete blank lines

* delete blank lines

* re-commit message

* Update graph_executor.h

add set_output_zero_copy

* add setoutputzero

* add set output zero

* Update graph_executor.cc

* Update graph_executor.h

* delete const_cast

* add common function chechDltensor

* Update graph_executor.h

* Update graph_executor.cc

* add output_ sort

* Update graph_executor.cc

* add a.nodeid == b.nodeid

* add unit test for set output zero

* add include <algorithm>

* modify Setoutput zero copy

* modify by clang-format

* add unit test for set output zero

* rrealy ut go back

* rrealy ut go back

* modify input->output

* delete sort output input

* modify build_module_test.cc

* midify winograd UT

* re-pr

* empty commit

* empty commit

* empty commit

* empty commit

* empty commit

* empty commit

* empty commit

* empty commit

* empty commit

* empty commit

* empty commit

* empty commit
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
* optimize resize vertor

* tmp

* DoMultiLevelTiling

* modify size_t to int

* modify

* modify level fill

* Update utils.cc

modify format_lower

* format lower count

* delete blank lines

* delete blank lines

* re-commit message

* Update graph_executor.h

add set_output_zero_copy

* add setoutputzero

* add set output zero

* Update graph_executor.cc

* Update graph_executor.h

* delete const_cast

* add common function chechDltensor

* Update graph_executor.h

* Update graph_executor.cc

* add output_ sort

* Update graph_executor.cc

* add a.nodeid == b.nodeid

* add unit test for set output zero

* add include <algorithm>

* modify Setoutput zero copy

* modify by clang-format

* add unit test for set output zero

* rrealy ut go back

* rrealy ut go back

* modify input->output

* delete sort output input

* modify build_module_test.cc

* midify winograd UT

* re-pr

* empty commit

* empty commit

* empty commit

* empty commit

* empty commit

* empty commit

* empty commit

* empty commit

* empty commit

* empty commit

* empty commit

* empty commit
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.

4 participants