diff options
author | Fredrik Svedberg <fredrik.svedberg@arm.com> | 2022-10-11 21:50:51 +0200 |
---|---|---|
committer | Fredrik Svedberg <fredrik.svedberg@arm.com> | 2022-10-12 11:22:17 +0000 |
commit | b81e1bb92be8ea5b29625cf2f361e9160286b16a (patch) | |
tree | 0963851b6d449224f67cce10ba510830db7b4172 /ethosu/vela/cascade_builder.py | |
parent | 3e3faa90def7c2c4aaaf71543726c881f05f53b5 (diff) | |
download | ethos-u-vela-b81e1bb92be8ea5b29625cf2f361e9160286b16a.tar.gz |
MLBEDSW-6971 Fix output diff when cascading elementwise operators
Fixed output diff when cascading elementwise operators with
reversed operand order.
Signed-off-by: Fredrik Svedberg <fredrik.svedberg@arm.com>
Change-Id: Iac2e28cfb53037b929459af213f4fa7715b3e6de
Diffstat (limited to 'ethosu/vela/cascade_builder.py')
-rw-r--r-- | ethosu/vela/cascade_builder.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ethosu/vela/cascade_builder.py b/ethosu/vela/cascade_builder.py index b4a4f876..ebe2f133 100644 --- a/ethosu/vela/cascade_builder.py +++ b/ethosu/vela/cascade_builder.py @@ -175,11 +175,12 @@ class CascadeBuilder: ifm = sched_op.parent_op.ifm ifm2 = sched_op.parent_op.ifm2 - # Cascading elementwise operations with reverse operand order is not handled if sched_op.parent_op.type.is_binary_elementwise_op() and ifm and ifm2: # We cannot rule out cascadability if at least one IFM is constant + ifm_const = ifm.ops != [] and ifm.ops[0].type == Op.Const ifm2_const = ifm2.ops != [] and ifm2.ops[0].type == Op.Const - return ifm_ifm2_correct_order(ifm.shape, ifm2.shape) and ifm2_const + correct_order = ifm_ifm2_correct_order(ifm.shape, ifm2.shape) + return (ifm_const and (ifm.shape == ifm2.shape or not correct_order)) or (ifm2_const and correct_order) else: # Either one IFM is not variable or it is not a binary elementwise op - we cannot rule out cascadability return True |