aboutsummaryrefslogtreecommitdiff
path: root/ethosu/vela/architecture_features.py
diff options
context:
space:
mode:
authorDwight Lidman <dwight.lidman@arm.com>2020-05-06 14:09:17 +0200
committerTim Hall <tim.hall@arm.com>2020-06-18 17:53:52 +0100
commit0538a77dfe65b66efedc4e4b92d851a5aeb46ea4 (patch)
tree73afa3d08b717f33533de0eb6c0c5ebe6754bfe7 /ethosu/vela/architecture_features.py
parent10349e70e994130d9e1ac8b72f32575025b2b453 (diff)
downloadethos-u-vela-0538a77dfe65b66efedc4e4b92d851a5aeb46ea4.tar.gz
MLBEDSW-1970: Add stride 3 support
This patch adds support for strides of size 3. It removes some obsolete code for a corner case that no longer exists. It also changes the setting of the bitfield in NPU_SET_KERNEL_STRIDE so that it matches the specification. Change-Id: I7dabcf72b7826ca0b3c98e9d23209027204079a8 Signed-off-by: Dwight Lidman <dwight.lidman@arm.com>
Diffstat (limited to 'ethosu/vela/architecture_features.py')
-rw-r--r--ethosu/vela/architecture_features.py20
1 files changed, 2 insertions, 18 deletions
diff --git a/ethosu/vela/architecture_features.py b/ethosu/vela/architecture_features.py
index 4a03d0ef..51c632e0 100644
--- a/ethosu/vela/architecture_features.py
+++ b/ethosu/vela/architecture_features.py
@@ -348,15 +348,7 @@ Note the difference between ArchitectureFeatures and CompilerOptions
+ ifm_odd_2x_height_enable
) // upscaling
- if kernel.stride.y == 1:
- ifm_block_height = round_up(ifm_block_height, self.ofm_ublock.height)
- elif kernel.stride.y == 2:
- if (self.ofm_ublock.height == 2) and (ifm_block_height % 4 == 2):
- ifm_block_height = ifm_block_height + 2
- else:
- ifm_block_height = round_up(ifm_block_height, self.ofm_ublock.height)
- else:
- assert False
+ ifm_block_height = round_up(ifm_block_height, self.ofm_ublock.height)
# Width
ifm_odd_2x_width_enable = 0
@@ -367,15 +359,7 @@ Note the difference between ArchitectureFeatures and CompilerOptions
+ ifm_odd_2x_width_enable
) // upscaling
- if kernel.stride.x == 1:
- ifm_block_width = round_up(ifm_block_width, self.ofm_ublock.width)
- elif kernel.stride.x == 2:
- if (self.ofm_ublock.width == 2) and (ifm_block_width % 4 == 2):
- ifm_block_width = ifm_block_width + 2
- else:
- ifm_block_width = round_up(ifm_block_width, self.ofm_ublock.width)
- else:
- assert False
+ ifm_block_width = round_up(ifm_block_width, self.ofm_ublock.width)
return Block(ifm_block_width, ifm_block_height, ifm_block_depth)