aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/backendsCommon')
-rw-r--r--src/backends/backendsCommon/WorkloadUtils.cpp14
-rw-r--r--src/backends/backendsCommon/WorkloadUtils.hpp2
2 files changed, 16 insertions, 0 deletions
diff --git a/src/backends/backendsCommon/WorkloadUtils.cpp b/src/backends/backendsCommon/WorkloadUtils.cpp
index 3185ba00d3..3abadd7563 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
diff --git a/src/backends/backendsCommon/WorkloadUtils.hpp b/src/backends/backendsCommon/WorkloadUtils.hpp
index ba69255183..b6d1b3b26f 100644
--- a/src/backends/backendsCommon/WorkloadUtils.hpp
+++ b/src/backends/backendsCommon/WorkloadUtils.hpp
@@ -173,6 +173,8 @@ void GatherTensorHandlePairs(const DescriptorType& descriptor,
}
}
+int32_t ConvertMaskToACLFormat(int32_t mask, int32_t numDim);
+
armnn::ConstTensor PermuteTensor(const ConstCpuTensorHandle* tensor,
const PermutationVector& permutationVector,
void* permuteBuffer);