aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon/workloads/NeonConvolution2dWorkload.cpp
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/NeonConvolution2dWorkload.cpp
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/NeonConvolution2dWorkload.cpp')
-rw-r--r--src/backends/neon/workloads/NeonConvolution2dWorkload.cpp28
1 files changed, 6 insertions, 22 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);