aboutsummaryrefslogtreecommitdiff
path: root/ethosu/vela/high_level_command_stream.py
diff options
context:
space:
mode:
authorTim Hall <tim.hall@arm.com>2021-12-16 13:17:29 +0000
committertim.hall <tim.hall@arm.com>2021-12-16 18:31:52 +0000
commit3751aa415849e37fb3288d9d5db9ce9b682f8d14 (patch)
tree3d539888306a49f27713db1dd28be82fe6c6c1f7 /ethosu/vela/high_level_command_stream.py
parent7d7cb671f369fd6ffdbddd12f1e29b6503df2c4d (diff)
downloadethos-u-vela-3751aa415849e37fb3288d9d5db9ce9b682f8d14.tar.gz
MLBEDSW-5629: MLCE: Model falling when creating explicit_padding
- Issue was due to a previous patch to fix MLBEDSW-4350 - Manually reverted that fix 5fabfcaa2b636b02899b4d6e0ccf95d853986475 - Made a new fix for MLBEDSW-4350 that calculates the padding and skirt by taking into account the split read offsets and shapes Signed-off-by: Tim Hall <tim.hall@arm.com> Change-Id: I96010c1b977011aecbc411a3c91ab3e61af22db4
Diffstat (limited to 'ethosu/vela/high_level_command_stream.py')
-rw-r--r--ethosu/vela/high_level_command_stream.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/ethosu/vela/high_level_command_stream.py b/ethosu/vela/high_level_command_stream.py
index ddb24824..abf6d837 100644
--- a/ethosu/vela/high_level_command_stream.py
+++ b/ethosu/vela/high_level_command_stream.py
@@ -78,8 +78,14 @@ class Box:
if strides is not None and skirt is not None:
if len(new_start_coord) >= 2:
stride = strides[2]
- new_start_coord[-2] = max(new_start_coord[-2] * stride - skirt[1], 0)
- new_end_coord[-2] = min(new_end_coord[-2] * stride + skirt[3], ifm_shape.width)
+ # if the current op was combined with a split slice read then the valid ifm range is given by the output
+ # of the split op
+ if split_offset is None:
+ new_start_coord[-2] = max(new_start_coord[-2] * stride - skirt[1], 0)
+ new_end_coord[-2] = min(new_end_coord[-2] * stride + skirt[3], ifm_shape.width)
+ else:
+ new_start_coord[-2] = max(new_start_coord[-2] * stride - skirt[1], split_offset[-2])
+ new_end_coord[-2] = min(new_end_coord[-2] * stride + skirt[3], split_shape[-2])
if len(new_start_coord) >= 3:
stride = strides[1]