From aef46b3917a1b314454ec543fdf74214982c35d3 Mon Sep 17 00:00:00 2001 From: Alexander Bengtsson Date: Mon, 14 Apr 2025 09:28:57 +0200 Subject: [PATCH] MLBEDSW-10705: Decompose activations as Elementwise - Add activations to DecomposeAsElementwise Change-Id: Ia7d617d2b0f39bb72d09506ac5c05a8479e1737a Signed-off-by: Alexander Bengtsson --- ethosu/regor/compiler/op_type.hpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/ethosu/regor/compiler/op_type.hpp b/ethosu/regor/compiler/op_type.hpp index 2439a278..7b4a9240 100644 --- a/ethosu/regor/compiler/op_type.hpp +++ b/ethosu/regor/compiler/op_type.hpp @@ -1,5 +1,5 @@ // -// SPDX-FileCopyrightText: Copyright 2021, 2024 Arm Limited and/or its affiliates +// SPDX-FileCopyrightText: Copyright 2021, 2024-2025 Arm Limited and/or its affiliates // // SPDX-License-Identifier: Apache-2.0 // @@ -208,6 +208,12 @@ inline std::string OpTypeToString(const OpType type) return EnumToString(type); } +constexpr inline bool IsActivation(OpType opType) +{ + return opType == OpType::Relu || opType == OpType::Relu6 || opType == OpType::ReluN || opType == OpType::ReluN1To1 || + opType == OpType::Prelu || opType == OpType::Clamp || opType == OpType::Sigmoid || opType == OpType::Tanh || opType == OpType::LUT; +} + constexpr inline bool IsUnaryElementwise(OpType opType) { return opType == OpType::Abs || opType == OpType::LeakyRelu || opType == OpType::CLZ || @@ -230,8 +236,8 @@ constexpr inline bool IsElementwise(OpType opType) constexpr inline bool DecomposeAsElementwise(OpType opType) { - return IsElementwise(opType) || opType == OpType::Rescale || opType == OpType::LUT || opType == OpType::Table || - opType == OpType::Clamp || opType == OpType::Cast; + return IsElementwise(opType) || IsActivation(opType) || opType == OpType::Rescale || opType == OpType::LUT || + opType == OpType::Table || opType == OpType::Clamp || opType == OpType::Cast; } constexpr inline bool IsDepthwise(OpType opType) @@ -258,12 +264,6 @@ constexpr inline bool IsVectorProduct(OpType opType) opType == OpType::UnidirectionalSequenceLstm || opType == OpType::UnidirectionalSequenceRnn; } -constexpr inline bool IsActivation(OpType opType) -{ - return opType == OpType::Relu || opType == OpType::Relu6 || opType == OpType::ReluN || opType == OpType::ReluN1To1 || - opType == OpType::Prelu || opType == OpType::Clamp || opType == OpType::Sigmoid || opType == OpType::Tanh || opType == OpType::LUT; -} - constexpr inline bool IsConcatenation(OpType opType) { return opType == OpType::Concat || opType == OpType::ConcatEmbeddings; -- GitLab