ArmNN
 25.11
Loading...
Searching...
No Matches
ClWorkloadUtils.hpp File Reference
#include <BFloat16.hpp>
#include <Half.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <cl/OpenClTimer.hpp>
#include <armnn/backends/TensorHandle.hpp>
#include <armnn/Utils.hpp>
#include <arm_compute/runtime/CL/CLTensor.h>
#include <arm_compute/runtime/IFunction.h>
#include <sstream>
Include dependency graph for ClWorkloadUtils.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  armnn
 Copyright (c) 2021 ARM Limited and Contributors.

Macros

#define ARMNN_SCOPED_PROFILING_EVENT_CL(name)
#define ARMNN_SCOPED_PROFILING_EVENT_CL_GUID(name, guid)
#define ARMNN_SCOPED_PROFILING_EVENT_CL_NAME_GUID(label)
 Creates a profiling event that uses GetGuid() and GetName() from the calling class.

Functions

std::string GetConvolutionMethodString (arm_compute::ConvolutionMethod &convolutionMethod)
template<typename T>
void CopyArmComputeClTensorData (arm_compute::CLTensor &dstTensor, const T *srcData)
auto SetClStridedSliceData (const std::vector< int > &m_begin, const std::vector< int > &m_end, const std::vector< int > &m_stride)
auto SetClSliceData (const std::vector< unsigned int > &m_begin, const std::vector< unsigned int > &m_size)
void InitializeArmComputeClTensorData (arm_compute::CLTensor &clTensor, const ConstTensorHandle *handle)
RuntimeException WrapClError (const cl::Error &clError, const CheckLocation &location)
void RunClFunction (arm_compute::IFunction &function, const CheckLocation &location)
template<typename DataType, typename PayloadType>
DataTypeGetOutputTensorData (unsigned int idx, const PayloadType &data)

Macro Definition Documentation

◆ ARMNN_SCOPED_PROFILING_EVENT_CL

#define ARMNN_SCOPED_PROFILING_EVENT_CL ( name)
Value:
name, \
#define ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(backendId, guid,...)
OpenClTimer instrument that times all OpenCl kernels executed between calls to Start() and Stop().
@ GpuAcc
GPU Execution: OpenCL: ArmCompute.
Definition BackendId.hpp:29
EmptyOptional is used to initialize the Optional class in case we want to have default value for an O...
Definition Optional.hpp:32

Definition at line 21 of file ClWorkloadUtils.hpp.

21#define ARMNN_SCOPED_PROFILING_EVENT_CL(name) \
22 ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(armnn::Compute::GpuAcc, \
23 armnn::EmptyOptional(), \
24 name, \
25 armnn::OpenClTimer(), \
26 armnn::WallClockTimer())

Referenced by armnn::CopyArmComputeClTensorData().

◆ ARMNN_SCOPED_PROFILING_EVENT_CL_GUID

#define ARMNN_SCOPED_PROFILING_EVENT_CL_GUID ( name,
guid )
Value:

Definition at line 28 of file ClWorkloadUtils.hpp.

28#define ARMNN_SCOPED_PROFILING_EVENT_CL_GUID(name, guid) \
29 ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(armnn::Compute::GpuAcc, \
30 guid, \
31 GetName() + "_" + name, \
32 armnn::OpenClTimer(), \
33 armnn::WallClockTimer())

Referenced by ClTileWorkload::Execute().

◆ ARMNN_SCOPED_PROFILING_EVENT_CL_NAME_GUID

#define ARMNN_SCOPED_PROFILING_EVENT_CL_NAME_GUID ( label)
Value:

Creates a profiling event that uses GetGuid() and GetName() from the calling class.

Definition at line 36 of file ClWorkloadUtils.hpp.

36#define ARMNN_SCOPED_PROFILING_EVENT_CL_NAME_GUID(label) \
37 ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(armnn::Compute::GpuAcc, \
38 this->GetGuid(), \
39 this->GetName() + "_" + label, \
40 armnn::OpenClTimer(), \
41 armnn::WallClockTimer())

Referenced by ClAbsWorkload::ClAbsWorkload(), ClActivationWorkload::ClActivationWorkload(), ClAdditionWorkload::ClAdditionWorkload(), ClArgMinMaxWorkload::ClArgMinMaxWorkload(), ClBatchNormalizationFloatWorkload::ClBatchNormalizationFloatWorkload(), ClBatchToSpaceNdWorkload::ClBatchToSpaceNdWorkload(), ClCastWorkload::ClCastWorkload(), ClChannelShuffleWorkload::ClChannelShuffleWorkload(), ClComparisonWorkload::ClComparisonWorkload(), ClConcatWorkload::ClConcatWorkload(), ClConvertFp16ToFp32Workload::ClConvertFp16ToFp32Workload(), ClConvertFp32ToFp16Workload::ClConvertFp32ToFp16Workload(), ClConvolution2dWorkload::ClConvolution2dWorkload(), ClConvolution3dWorkload::ClConvolution3dWorkload(), ClDepthToSpaceWorkload::ClDepthToSpaceWorkload(), ClDepthwiseConvolutionWorkload::ClDepthwiseConvolutionWorkload(), ClDequantizeWorkload::ClDequantizeWorkload(), ClDivisionWorkload::ClDivisionWorkload(), ClElementwiseBinaryWorkload::ClElementwiseBinaryWorkload(), ClExpWorkload::ClExpWorkload(), ClFillWorkload::ClFillWorkload(), ClFloorFloatWorkload::ClFloorFloatWorkload(), ClFullyConnectedWorkload::ClFullyConnectedWorkload(), ClGatherNdWorkload::ClGatherNdWorkload(), ClGatherWorkload::ClGatherWorkload(), ClInstanceNormalizationWorkload::ClInstanceNormalizationWorkload(), ClL2NormalizationFloatWorkload::ClL2NormalizationFloatWorkload(), ClLogicalAndWorkload::ClLogicalAndWorkload(), ClLogicalNotWorkload::ClLogicalNotWorkload(), ClLogicalOrWorkload::ClLogicalOrWorkload(), ClLogSoftmaxWorkload::ClLogSoftmaxWorkload(), ClLogWorkload::ClLogWorkload(), ClLstmFloatWorkload::ClLstmFloatWorkload(), ClMaximumWorkload::ClMaximumWorkload(), ClMeanWorkload::ClMeanWorkload(), ClMinimumWorkload::ClMinimumWorkload(), ClMultiplicationWorkload::ClMultiplicationWorkload(), ClNegWorkload::ClNegWorkload(), ClNormalizationFloatWorkload::ClNormalizationFloatWorkload(), ClPadWorkload::ClPadWorkload(), ClPermuteWorkload::ClPermuteWorkload(), ClPooling2dWorkload::ClPooling2dWorkload(), ClPooling3dWorkload::ClPooling3dWorkload(), ClPreluWorkload::ClPreluWorkload(), ClQLstmWorkload::ClQLstmWorkload(), ClQuantizedLstmWorkload::ClQuantizedLstmWorkload(), ClQuantizeWorkload::ClQuantizeWorkload(), ClReduceWorkload::ClReduceWorkload(), ClReshapeWorkload::ClReshapeWorkload(), ClResizeWorkload::ClResizeWorkload(), ClReverseV2Workload::ClReverseV2Workload(), ClRsqrtWorkload::ClRsqrtWorkload(), ClScatterNdWorkload::ClScatterNdWorkload(), ClSinWorkload::ClSinWorkload(), ClSliceWorkload::ClSliceWorkload(), ClSoftmaxWorkload::ClSoftmaxWorkload(), ClSpaceToBatchNdWorkload::ClSpaceToBatchNdWorkload(), ClSpaceToDepthWorkload::ClSpaceToDepthWorkload(), ClSplitterWorkload::ClSplitterWorkload(), ClSqrtWorkload::ClSqrtWorkload(), ClStackWorkload::ClStackWorkload(), ClStridedSliceWorkload::ClStridedSliceWorkload(), ClSubtractionWorkload::ClSubtractionWorkload(), ClTransposeConvolution2dWorkload::ClTransposeConvolution2dWorkload(), ClTransposeWorkload::ClTransposeWorkload(), ClAbsWorkload::Execute(), ClActivationWorkload::Execute(), ClAdditionWorkload::Execute(), ClArgMinMaxWorkload::Execute(), ClBatchMatMulWorkload::Execute(), ClBatchNormalizationFloatWorkload::Execute(), ClBatchToSpaceNdWorkload::Execute(), ClCastWorkload::Execute(), ClChannelShuffleWorkload::Execute(), ClComparisonWorkload::Execute(), ClConcatWorkload::Execute(), ClConstantWorkload::Execute(), ClConvertFp16ToFp32Workload::Execute(), ClConvertFp32ToFp16Workload::Execute(), ClConvolution2dWorkload::Execute(), ClConvolution3dWorkload::Execute(), ClDepthToSpaceWorkload::Execute(), ClDepthwiseConvolutionWorkload::Execute(), ClDequantizeWorkload::Execute(), ClDivisionWorkload::Execute(), ClElementwiseBinaryWorkload::Execute(), ClExpWorkload::Execute(), ClFillWorkload::Execute(), ClFloorDivWorkload::Execute(), ClFloorFloatWorkload::Execute(), ClFullyConnectedWorkload::Execute(), ClGatherNdWorkload::Execute(), ClGatherWorkload::Execute(), ClInstanceNormalizationWorkload::Execute(), ClL2NormalizationFloatWorkload::Execute(), ClLogicalAndWorkload::Execute(), ClLogicalNotWorkload::Execute(), ClLogicalOrWorkload::Execute(), ClLogSoftmaxWorkload::Execute(), ClLogWorkload::Execute(), ClLstmFloatWorkload::Execute(), ClMaximumWorkload::Execute(), ClMeanWorkload::Execute(), ClMinimumWorkload::Execute(), ClMultiplicationWorkload::Execute(), ClNegWorkload::Execute(), ClNormalizationFloatWorkload::Execute(), ClPadWorkload::Execute(), ClPermuteWorkload::Execute(), ClPooling2dWorkload::Execute(), ClPooling3dWorkload::Execute(), ClPreluWorkload::Execute(), ClQLstmWorkload::Execute(), ClQuantizedLstmWorkload::Execute(), ClQuantizeWorkload::Execute(), ClRankWorkload::Execute(), ClReduceWorkload::Execute(), ClReshapeWorkload::Execute(), ClResizeWorkload::Execute(), ClReverseV2Workload::Execute(), ClRsqrtWorkload::Execute(), ClScatterNdWorkload::Execute(), ClSinWorkload::Execute(), ClSliceWorkload::Execute(), ClSoftmaxWorkload::Execute(), ClSpaceToBatchNdWorkload::Execute(), ClSpaceToDepthWorkload::Execute(), ClSplitterWorkload::Execute(), ClSqrtWorkload::Execute(), ClStackWorkload::Execute(), ClStridedSliceWorkload::Execute(), ClSubtractionWorkload::Execute(), ClTransposeConvolution2dWorkload::Execute(), ClTransposeWorkload::Execute(), and ClUnidirectionalSequenceLstmFloatWorkload::Execute().