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

[topi] Add arm_cpu specific pooling schedules #14855

Merged
merged 1 commit into from
Jul 10, 2023

Conversation

FranklandJack
Copy link
Contributor

@FranklandJack FranklandJack commented May 15, 2023

This commit:

  • Adds specialized arm_cpu pooling schedules for both fixed width and salable vectors.
  • Enables topi testing of new arm_cpu schedules.

@tvm-bot
Copy link
Collaborator

tvm-bot commented May 15, 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.

  • No users to tag found in teams: topi See #10317 for details

Generated by tvm-bot

@FranklandJack FranklandJack force-pushed the pool-2d-sched branch 4 times, most recently from d62170b to b2b0b9a Compare May 31, 2023 09:57
python/tvm/topi/arm_cpu/pooling.py Outdated Show resolved Hide resolved
python/tvm/topi/arm_cpu/pooling.py Outdated Show resolved Hide resolved
Copy link
Contributor

@lhutton1 lhutton1 left a comment

Choose a reason for hiding this comment

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

Thanks @FranklandJack, this looks very nice addition! I left some small comments and questions below

python/tvm/topi/arm_cpu/pooling.py Outdated Show resolved Hide resolved
python/tvm/relay/op/strategy/arm_cpu.py Outdated Show resolved Hide resolved
python/tvm/topi/arm_cpu/pooling.py Show resolved Hide resolved
python/tvm/topi/arm_cpu/pooling.py Show resolved Hide resolved
python/tvm/topi/arm_cpu/pooling.py Show resolved Hide resolved
python/tvm/topi/arm_cpu/pooling.py Show resolved Hide resolved
python/tvm/topi/arm_cpu/pooling.py Show resolved Hide resolved
This commit:
* Adds specialized `arm_cpu` pooling schedules for both fixed width and
  salable vectors.
* Enables topi testing of new `arm_cpu` schedules.
Copy link
Contributor

@lhutton1 lhutton1 left a comment

Choose a reason for hiding this comment

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

Will leave open for a bit longer to give chance for any final comments

@FranklandJack
Copy link
Contributor Author

Will leave open for a bit longer to give chance for any final comments

Thanks @lhutton1. This has been open for almost two months now, so hopefully everyone who it might affect has had a chance to see it. I haven't got write permissions, so feel free to merge when you think its ready.

@lhutton1 lhutton1 merged commit 9f8fe3c into apache:main Jul 10, 2023
@junrushao
Copy link
Member

NOTE: this PR causes a regression in importing order:

Traceback (most recent call last):
  File "/root/Projects/tvm-dev/main.py", line 10, in <module>
    from tvm.testing import local_run
  File "/root/Projects/tvm-dev/python/tvm/testing/__init__.py", line 21, in <module>
    from . import auto_scheduler, autotvm
  File "/root/Projects/tvm-dev/python/tvm/testing/auto_scheduler.py", line 20, in <module>
    from tvm import auto_scheduler, te, topi
  File "/root/Projects/tvm-dev/python/tvm/topi/__init__.py", line 51, in <module>
    from . import nn
  File "/root/Projects/tvm-dev/python/tvm/topi/nn/__init__.py", line 35, in <module>
    from .conv3d_transpose import *
  File "/root/Projects/tvm-dev/python/tvm/topi/nn/conv3d_transpose.py", line 21, in <module>
    from tvm import relay
  File "/root/Projects/tvm-dev/python/tvm/relay/__init__.py", line 29, in <module>
    from . import prelude
  File "/root/Projects/tvm-dev/python/tvm/relay/prelude.py", line 21, in <module>
    from tvm.relay.transform import ToANormalFormExpr
  File "/root/Projects/tvm-dev/python/tvm/relay/transform/__init__.py", line 22, in <module>
    from . import fake_quantization_to_integer, mixed_precision
  File "/root/Projects/tvm-dev/python/tvm/relay/transform/fake_quantization_to_integer.py", line 25, in <module>
    from tvm.relay.qnn.op import canonicalizations
  File "/root/Projects/tvm-dev/python/tvm/relay/qnn/__init__.py", line 20, in <module>
    from . import op
  File "/root/Projects/tvm-dev/python/tvm/relay/qnn/op/__init__.py", line 21, in <module>
    from .qnn import *
  File "/root/Projects/tvm-dev/python/tvm/relay/qnn/op/qnn.py", line 26, in <module>
    from tvm.relay.op.nn.utils import get_pad_tuple2d
  File "/root/Projects/tvm-dev/python/tvm/relay/op/__init__.py", line 35, in <module>
    from . import strategy
  File "/root/Projects/tvm-dev/python/tvm/relay/op/strategy/__init__.py", line 24, in <module>
    from . import arm_cpu
  File "/root/Projects/tvm-dev/python/tvm/relay/op/strategy/arm_cpu.py", line 29, in <module>
    from ....topi.arm_cpu.mprofile import dsp
  File "/root/Projects/tvm-dev/python/tvm/topi/arm_cpu/__init__.py", line 33, in <module>
    from . import qnn_alter_op
  File "/root/Projects/tvm-dev/python/tvm/topi/arm_cpu/qnn_alter_op.py", line 25, in <module>
    from ..nn import qnn_conv2d_alter_layout, add_alter_layout, qnn_requantize_alter_layout
ImportError: cannot import name 'qnn_conv2d_alter_layout' from partially initialized module 'tvm.topi.nn' (most likely due to a circular import) (/root/Projects/tvm-dev/python/tvm/topi/nn/__init__.py)

junrushao added a commit that referenced this pull request Jul 10, 2023
ekalda pushed a commit that referenced this pull request Jul 11, 2023
Revert "[topi] Add `arm_cpu` specific pooling schedules (#14855)"

This reverts commit 9f8fe3c.
@lhutton1
Copy link
Contributor

Thanks @junrushao for the quick catch. I had a quick look into this but I wasn't able to reproduce the issue. Do you have a small script I could try out?

junrushao pushed a commit to junrushao/tvm that referenced this pull request Jul 24, 2023
This commit:
* Adds specialized `arm_cpu` pooling schedules for both fixed width and
  salable vectors.
* Enables topi testing of new `arm_cpu` schedules.
junrushao added a commit to junrushao/tvm that referenced this pull request Jul 24, 2023
Revert "[topi] Add `arm_cpu` specific pooling schedules (apache#14855)"

This reverts commit 9f8fe3c.
junrushao pushed a commit to junrushao/tvm that referenced this pull request Jul 27, 2023
This commit:
* Adds specialized `arm_cpu` pooling schedules for both fixed width and
  salable vectors.
* Enables topi testing of new `arm_cpu` schedules.
junrushao added a commit to junrushao/tvm that referenced this pull request Jul 27, 2023
Revert "[topi] Add `arm_cpu` specific pooling schedules (apache#14855)"

This reverts commit 9f8fe3c.
junrushao pushed a commit to junrushao/tvm that referenced this pull request Jul 30, 2023
This commit:
* Adds specialized `arm_cpu` pooling schedules for both fixed width and
  salable vectors.
* Enables topi testing of new `arm_cpu` schedules.
junrushao added a commit to junrushao/tvm that referenced this pull request Jul 30, 2023
Revert "[topi] Add `arm_cpu` specific pooling schedules (apache#14855)"

This reverts commit 9f8fe3c.
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