aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon/workloads/NeonWorkloadUtils.hpp
diff options
context:
space:
mode:
authorKeith Davis <keith.davis@arm.com>2021-08-04 10:35:20 +0100
committerKeithARM <keith.davis@arm.com>2021-08-05 08:11:06 +0000
commit5a64f22101ecdda4846e9d71428633f3ccd56fb2 (patch)
tree5d5dcb617bf2c2786b37a7c64bb6c54ca5696914 /src/backends/neon/workloads/NeonWorkloadUtils.hpp
parent8c999dfeeca7b02a6ea1d0cdcd8c34472f6c9cce (diff)
downloadarmnn-5a64f22101ecdda4846e9d71428633f3ccd56fb2.tar.gz
IVGCVSW-5980 Add Descriptor, TensorInfo and Convolution algorithm to JSON
* Add GUID as field to layer details and profiling events * Add Optional GUID param to existing tests * Improve Details macro to be inline function * Fix some formatting Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I66f192a90a7642b3ee8e7dda0d3f428cce002581
Diffstat (limited to 'src/backends/neon/workloads/NeonWorkloadUtils.hpp')
-rw-r--r--src/backends/neon/workloads/NeonWorkloadUtils.hpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/backends/neon/workloads/NeonWorkloadUtils.hpp b/src/backends/neon/workloads/NeonWorkloadUtils.hpp
index ab7616fbe2..1199f30863 100644
--- a/src/backends/neon/workloads/NeonWorkloadUtils.hpp
+++ b/src/backends/neon/workloads/NeonWorkloadUtils.hpp
@@ -16,6 +16,14 @@
#define ARMNN_SCOPED_PROFILING_EVENT_NEON(name) \
ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(armnn::Compute::CpuAcc, \
+ armnn::EmptyOptional(), \
+ name, \
+ armnn::NeonTimer(), \
+ armnn::WallClockTimer())
+
+#define ARMNN_SCOPED_PROFILING_EVENT_NEON_GUID(name, guid) \
+ ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(armnn::Compute::CpuAcc, \
+ guid, \
name, \
armnn::NeonTimer(), \
armnn::WallClockTimer())
@@ -25,6 +33,23 @@ using namespace armnn::armcomputetensorutils;
namespace armnn
{
+inline std::string GetConvolutionMethodString(arm_compute::ConvolutionMethod& convolutionMethod)
+{
+ switch (convolutionMethod)
+ {
+ case arm_compute::ConvolutionMethod::FFT:
+ return "FFT";
+ case arm_compute::ConvolutionMethod::DIRECT:
+ return "Direct";
+ case arm_compute::ConvolutionMethod::GEMM:
+ return "GEMM";
+ case arm_compute::ConvolutionMethod::WINOGRAD:
+ return "Winograd";
+ default:
+ return "Unknown";
+ }
+}
+
template <typename T>
void CopyArmComputeTensorData(arm_compute::Tensor& dstTensor, const T* srcData)
{