diff options
author | Francis Murtagh <francis.murtagh@arm.com> | 2019-11-05 14:26:23 +0000 |
---|---|---|
committer | Francis Murtagh <francis.murtagh@arm.com> | 2019-11-06 10:15:51 +0000 |
commit | ec33a91ec1557b78b2d01975ec4c5eaf24aa058c (patch) | |
tree | d6e26d6b59421e00dcceed4715e7a76d7a2ebc4f /src/backends/backendsCommon/WorkloadUtils.cpp | |
parent | 3201eea0565ce2bb0418d1936fec71bdeb14c084 (diff) | |
download | armnn-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.cpp | 14 |
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 |