aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/WorkloadUtils.cpp
diff options
context:
space:
mode:
authorFrancis Murtagh <francis.murtagh@arm.com>2019-11-05 14:26:23 +0000
committerFrancis Murtagh <francis.murtagh@arm.com>2019-11-06 10:15:51 +0000
commitec33a91ec1557b78b2d01975ec4c5eaf24aa058c (patch)
treed6e26d6b59421e00dcceed4715e7a76d7a2ebc4f /src/backends/backendsCommon/WorkloadUtils.cpp
parent3201eea0565ce2bb0418d1936fec71bdeb14c084 (diff)
downloadarmnn-ec33a91ec1557b78b2d01975ec4c5eaf24aa058c.tar.gz
IVGCVSW-4038 Convert Strided_Slice Shrink_Axis_Mask Parameter to ACL format
* Add conversion method to reverse bits in Shrink_Axis_Mask * Add Unit tests for Neon, CL and Reference backends * Fix supportedness of constant layer which is causing error in DeepSpeech Uint8 * Also convert the Begin_Mask and End_Mask Change-Id: I448b083c3463558e8fb5204923ab554cd43264ba Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Diffstat (limited to 'src/backends/backendsCommon/WorkloadUtils.cpp')
-rw-r--r--src/backends/backendsCommon/WorkloadUtils.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/backends/backendsCommon/WorkloadUtils.cpp b/src/backends/backendsCommon/WorkloadUtils.cpp
index 9e008ca441..385d970dac 100644
--- a/src/backends/backendsCommon/WorkloadUtils.cpp
+++ b/src/backends/backendsCommon/WorkloadUtils.cpp
@@ -184,4 +184,18 @@ armnn::ConstTensor ConvertWeightTensorFromArmnnToAcl(const ConstCpuTensorHandle*
return weightPermuted;
}
+int32_t ConvertMaskToACLFormat(int32_t mask, int32_t numDim)
+{
+ int32_t reversedMask = 0;
+ for (unsigned int i = 0; i < boost::numeric_cast<unsigned int>(numDim); ++i)
+ {
+ // Check if bit set in mask for each dimension
+ int32_t bit = (mask & 1 << i) != 0;
+ // Increment the new mask with the bits reversed
+ reversedMask += (bit << std::max(numDim-(boost::numeric_cast<int>(i)+1), 0));
+ }
+
+ return reversedMask;
+}
+
} // namespace armnn