diff options
author | Fredrik Svedberg <fredrik.svedberg@arm.com> | 2020-08-25 11:31:47 +0200 |
---|---|---|
committer | Fredrik Svedberg <fredrik.svedberg@arm.com> | 2020-08-27 16:39:29 +0200 |
commit | 880e73543120648f08886365a45e8b2ce32d5ff1 (patch) | |
tree | 420627fb8e7e5000f23f82c52ba6569f4a696813 /ethosu/vela/scheduler.py | |
parent | a41cd4de2af1e43b76a2a33d78eeb2d90a88b757 (diff) | |
download | ethos-u-vela-880e73543120648f08886365a45e8b2ce32d5ff1.tar.gz |
[MLBEDSW-2846] Do not use NHCWB16 for reduce_sum int32
Added checks for not using NHCWB16 for reduce_sum int32 which makes
int8/uint8 softmax work.
Also enabled softmax graph rewrite by default and fixed a saturation
problem.
Change-Id: Ic01bd9ece7e5c3edb2900b7915cc747efe9e5760
Signed-off-by: Fredrik Svedberg <fredrik.svedberg@arm.com>
Diffstat (limited to 'ethosu/vela/scheduler.py')
-rw-r--r-- | ethosu/vela/scheduler.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/ethosu/vela/scheduler.py b/ethosu/vela/scheduler.py index 9b492f01..41902d67 100644 --- a/ethosu/vela/scheduler.py +++ b/ethosu/vela/scheduler.py @@ -24,6 +24,7 @@ import numpy as np from . import live_range from . import npu_performance from . import stats_writer +from .data_type import DataType from .high_level_command_stream_generator import calc_allowed_ofm_ifm_overlap_for_pass_list from .nn_graph import CascadedPass from .nn_graph import PassPlacement @@ -963,7 +964,7 @@ class DynamicProgrammingScheduler: use_NHCWB16 = True rewrites = [] for op in output.consumer_list: - if op is None: + if op is None or (op.type == "ReduceSum" and output.dtype == DataType.int32): use_NHCWB16 = False elif op.type == "Reshape": # Detect no-op reshapes by comparing their full input and output tensor shapes. |