diff options
Diffstat (limited to 'src/backends/neon')
3 files changed, 31 insertions, 23 deletions
diff --git a/src/backends/neon/workloads/NeonConvolution2dWorkload.cpp b/src/backends/neon/workloads/NeonConvolution2dWorkload.cpp index 1e12e13357..a6ae99b481 100644 --- a/src/backends/neon/workloads/NeonConvolution2dWorkload.cpp +++ b/src/backends/neon/workloads/NeonConvolution2dWorkload.cpp @@ -119,21 +119,22 @@ NeonConvolution2dWorkload::NeonConvolution2dWorkload( isFastMathEnabled); // Add details for profiling output - std::string workloadName = "NeonConvolution2dWorkload_Execute_Guid" + std::to_string(this->GetGuid()); - WorkloadInfo detailsInfo; detailsInfo.m_InputTensorInfos = info.m_InputTensorInfos; detailsInfo.m_OutputTensorInfos = info.m_OutputTensorInfos; detailsInfo.m_WeightsTensorInfo = armnn::Optional<armnn::TensorInfo>(descriptor.m_Weight->GetTensorInfo()); - detailsInfo.m_ConvolutionMethod = armnn::Optional<std::string>(GetConvolutionMethodString()); + detailsInfo.m_ConvolutionMethod = armnn::Optional<std::string>(GetConvolutionMethodString(m_ConvolutionMethod)); if (descriptor.m_Parameters.m_BiasEnabled) { detailsInfo.m_BiasTensorInfo = armnn::Optional<armnn::TensorInfo>(descriptor.m_Bias->GetTensorInfo()); } // Report Profiling Details - ARMNN_REPORT_PROFILING_WORKLOAD_DESC(workloadName, descriptor.m_Parameters, detailsInfo); + ARMNN_REPORT_PROFILING_WORKLOAD_DESC("NeonConvolution2dWorkload_Execute", + descriptor.m_Parameters, + detailsInfo, + this->GetGuid()); m_ConvolutionLayer.reset(convolutionLayer.release()); @@ -152,7 +153,7 @@ NeonConvolution2dWorkload::NeonConvolution2dWorkload( void NeonConvolution2dWorkload::Execute() const { - ARMNN_SCOPED_PROFILING_EVENT_NEON("NeonConvolution2dWorkload_Execute"); + ARMNN_SCOPED_PROFILING_EVENT_NEON_GUID("NeonConvolution2dWorkload_Execute", this->GetGuid()); m_ConvolutionLayer->run(); } @@ -161,23 +162,6 @@ arm_compute::ConvolutionMethod NeonConvolution2dWorkload::GetConvolutionMethod() return m_ConvolutionMethod; } -std::string NeonConvolution2dWorkload::GetConvolutionMethodString() -{ - switch ( m_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"; - } -} - void NeonConvolution2dWorkload::FreeUnusedTensors() { FreeTensorIfUnused(m_KernelTensor); diff --git a/src/backends/neon/workloads/NeonConvolution2dWorkload.hpp b/src/backends/neon/workloads/NeonConvolution2dWorkload.hpp index 4b4c07ae87..4b6e58ce41 100644 --- a/src/backends/neon/workloads/NeonConvolution2dWorkload.hpp +++ b/src/backends/neon/workloads/NeonConvolution2dWorkload.hpp @@ -37,7 +37,6 @@ public: void Execute() const override; arm_compute::ConvolutionMethod GetConvolutionMethod() const; - std::string GetConvolutionMethodString(); private: std::unique_ptr<arm_compute::IFunction> m_ConvolutionLayer; 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) { |