Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
a362004
[microTVM] Update support for ARMv7m intrinsic
sergio-grovety Sep 12, 2021
13dee66
Merge branch 'apache:main' into update-arm-simd-intrinsic
sergio-grovety Sep 14, 2021
0ea201e
[microTVM] Update support for ARMv7m intrinsic
sergio-grovety Sep 12, 2021
1d4288a
Merge branch 'update-arm-simd-intrinsic' of https://github.com/sergey…
sergio-grovety Sep 14, 2021
36aa10d
Implemented discussed changes.
sergio-grovety Sep 17, 2021
605cb1b
Removed unnecessary test files.
sergio-grovety Sep 17, 2021
8dc5a3c
Formatting fixed.
sergio-grovety Sep 17, 2021
4cdf12c
Formatting fixed2.
sergio-grovety Sep 17, 2021
5288a52
Formatting fixed3.
sergio-grovety Sep 17, 2021
f844d74
Formatting fixed4.
sergio-grovety Sep 17, 2021
47e3db2
Formatting fixed5.
sergio-grovety Sep 17, 2021
84ac766
Fixed test time result checking.
sergio-grovety Sep 20, 2021
c265113
Check rebuild.
sergio-grovety Sep 20, 2021
83a86dd
Formatting fixed.
sergio-grovety Sep 20, 2021
3d8b944
Formatting fixed.
sergio-grovety Sep 20, 2021
af04a38
Merge branch 'update-arm-simd-intrinsic' of https://github.com/sergey…
sergio-grovety Sep 22, 2021
7413f45
[microTVM] Update support for ARMv7m intrinsic
sergio-grovety Sep 12, 2021
88e4c93
Implemented discussed changes.
sergio-grovety Sep 17, 2021
b651e5a
Removed unnecessary test files.
sergio-grovety Sep 17, 2021
306751e
Formatting fixed.
sergio-grovety Sep 17, 2021
dae0ad8
Formatting fixed2.
sergio-grovety Sep 17, 2021
1b2672f
Formatting fixed3.
sergio-grovety Sep 17, 2021
9a4885f
Formatting fixed4.
sergio-grovety Sep 17, 2021
0c46dc0
Formatting fixed5.
sergio-grovety Sep 17, 2021
908045c
Fixed test time result checking.
sergio-grovety Sep 20, 2021
26e582b
Check rebuild.
sergio-grovety Sep 20, 2021
118cb76
Formatting fixed.
sergio-grovety Sep 20, 2021
a04f854
Issue 8717 Add schedule for depthwise_conv2d_nhwc
sergio-grovety Sep 16, 2021
7506661
Resolve merge conflict.
sergio-grovety Sep 24, 2021
791849e
Merge branch 'update-arm-simd-intrinsic' of https://github.com/sergey…
sergio-grovety Sep 24, 2021
d995452
Resolve merge conflicts.
sergio-grovety Sep 24, 2021
9f5fccb
Merge branch 'main' into update-arm-simd-intrinsic
sergio-grovety Sep 27, 2021
9ff8dc1
Fixed formatting.
sergio-grovety Sep 27, 2021
934df18
From Issue 8717//
sergio-grovety Sep 27, 2021
d12812b
From Issue 8717.
sergio-grovety Sep 27, 2021
8935725
From Issue 8717. Fixed typo.
sergio-grovety Sep 27, 2021
f59c498
Fixed import.
sergio-grovety Sep 27, 2021
6c28a28
Fixed import and method call.
sergio-grovety Sep 27, 2021
2b1267b
Added QEMU testing comment.
sergio-grovety Sep 28, 2021
8deb2d5
Fixed ZEPHYR_BOARD usage.
sergio-grovety Sep 28, 2021
50ce0ff
Fixed tests. Removed issue 8717 changes.
sergio-grovety Sep 28, 2021
6ddee6d
Formatting fixed.
sergio-grovety Sep 28, 2021
dc4c6d1
Removed test call from base_box_test.sh
sergio-grovety Sep 29, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions python/tvm/relay/op/strategy/arm_cpu.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,7 @@ def conv2d_strategy_arm_cpu(attrs, inputs, out_type, target):
name="conv2d_hwcn.generic",
)
elif layout == "NHWC":
channels = data.shape[3]
if "SMLAD" in isa and (channels % 4) == 0 and kernel_layout == "HWOI":
if "SMLAD" in isa and kernel_layout == "HWOI":
strategy.add_implementation(
wrap_compute_conv2d(topi.arm_cpu.conv2d_direct_simd),
wrap_topi_schedule(topi.arm_cpu.schedule_conv2d_direct_simd),
Expand Down
13 changes: 11 additions & 2 deletions python/tvm/topi/arm_cpu/cortex_m7/conv2d/direct_simd.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,10 +112,14 @@ def conv2d_direct_simd_compute(cfg, data, kernel, strides, padding, dilation, ou
cfg.reduce_axis(in_channels.value),
)

assert in_channels.value % 4 == 0
owo, owi = cfg.define_split("tile_ow", ow, policy="factors", num_outputs=2)
cio, cii = cfg.define_split(
"tile_ci", ci, policy="factors", num_outputs=2, filter=lambda x: x.size[-1] % 4 == 0
"tile_ci",
ci,
policy="factors",
num_outputs=2,
# TODO: check case with in_channels.value % 4 != 0 with AutoTVM
filter=None if cfg.is_fallback else lambda x: x.size[-1] % 4 == 0,
)
coo, coi = cfg.define_split("tile_co", co, policy="factors", num_outputs=2)

Expand All @@ -134,6 +138,11 @@ def conv2d_direct_simd_compute(cfg, data, kernel, strides, padding, dilation, ou
cfg.define_knob("auto_unroll_max_step", [0, 2, 4, 8, 16, 32])
cfg.define_knob("unroll_explicit", [0, 1])

if cfg.is_fallback:
cfg.fallback_split("tile_ow", [-1, out_width.value])
cfg.fallback_split("tile_ci", [-1, in_channels.value])
cfg.fallback_split("tile_co", [-1, out_channels.value])

return conv


Expand Down
Loading