aboutsummaryrefslogtreecommitdiff
path: root/src/backends/cl/workloads/ClConvolution2dWorkload.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/cl/workloads/ClConvolution2dWorkload.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/cl/workloads/ClConvolution2dWorkload.cpp')
-rw-r--r--src/backends/cl/workloads/ClConvolution2dWorkload.cpp29
1 files changed, 6 insertions, 23 deletions
diff --git a/src/backends/cl/workloads/ClConvolution2dWorkload.cpp b/src/backends/cl/workloads/ClConvolution2dWorkload.cpp
index b3df7ce0b1..ab9d5bcbd2 100644
--- a/src/backends/cl/workloads/ClConvolution2dWorkload.cpp
+++ b/src/backends/cl/workloads/ClConvolution2dWorkload.cpp
@@ -70,7 +70,6 @@ ClConvolution2dWorkload::ClConvolution2dWorkload(const Convolution2dQueueDescrip
: BaseWorkload<Convolution2dQueueDescriptor>(descriptor, info)
, m_ConvolutionLayer(memoryManager)
{
- // todo: check tensor shapes match.
const TensorInfo& weightInfo = m_Data.m_Weight->GetTensorInfo();
m_KernelTensor = std::make_unique<arm_compute::CLTensor>();
@@ -121,21 +120,22 @@ ClConvolution2dWorkload::ClConvolution2dWorkload(const Convolution2dQueueDescrip
isFastMathEnabled);
// Add details for profiling output
- std::string workloadName = "ClConvolution2dWorkload_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("ClConvolution2dWorkload_Execute_Guid",
+ descriptor.m_Parameters,
+ detailsInfo,
+ this->GetGuid());
InitializeArmComputeClTensorData(*m_KernelTensor, m_Data.m_Weight);
@@ -152,7 +152,7 @@ ClConvolution2dWorkload::ClConvolution2dWorkload(const Convolution2dQueueDescrip
void ClConvolution2dWorkload::Execute() const
{
- ARMNN_SCOPED_PROFILING_EVENT_CL("ClConvolution2dWorkload_Execute");
+ ARMNN_SCOPED_PROFILING_EVENT_CL_GUID("ClConvolution2dWorkload_Execute", this->GetGuid());
RunClFunction(m_ConvolutionLayer, CHECK_LOCATION());
}
@@ -161,23 +161,6 @@ arm_compute::ConvolutionMethod ClConvolution2dWorkload::GetConvolutionMethod() c
return m_ConvolutionMethod;
}
-std::string ClConvolution2dWorkload::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 ClConvolution2dWorkload::FreeUnusedTensors()
{
FreeTensorIfUnused(m_KernelTensor);