aboutsummaryrefslogtreecommitdiff
path: root/ethosu/vela/scheduler.py
diff options
context:
space:
mode:
authorFredrik Svedberg <fredrik.svedberg@arm.com>2020-08-25 11:31:47 +0200
committerFredrik Svedberg <fredrik.svedberg@arm.com>2020-08-27 16:39:29 +0200
commit880e73543120648f08886365a45e8b2ce32d5ff1 (patch)
tree420627fb8e7e5000f23f82c52ba6569f4a696813 /ethosu/vela/scheduler.py
parenta41cd4de2af1e43b76a2a33d78eeb2d90a88b757 (diff)
downloadethos-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.py3
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.