ArmNN
 25.11
Loading...
Searching...
No Matches
NeonWorkloadUtils.hpp File Reference
Include dependency graph for NeonWorkloadUtils.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_NEON(name)
#define ARMNN_SCOPED_PROFILING_EVENT_NEON_GUID(name, guid)
#define ARMNN_SCOPED_PROFILING_EVENT_NEON_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 CopyArmComputeTensorData (arm_compute::Tensor &dstTensor, const T *srcData)
void InitializeArmComputeTensorData (arm_compute::Tensor &tensor, TensorInfo tensorInfo, const ITensorHandle *handle)
void InitializeArmComputeTensorData (arm_compute::Tensor &tensor, const ConstTensorHandle *handle)
auto SetNeonStridedSliceData (const std::vector< int > &m_begin, const std::vector< int > &m_end, const std::vector< int > &m_stride)
auto SetNeonSliceData (const std::vector< unsigned int > &m_begin, const std::vector< unsigned int > &m_size)
template<typename DataType, typename PayloadType>
DataTypeGetOutputTensorData (unsigned int idx, const PayloadType &data)

Macro Definition Documentation

◆ ARMNN_SCOPED_PROFILING_EVENT_NEON

#define ARMNN_SCOPED_PROFILING_EVENT_NEON ( name)
Value:
name, \
#define ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(backendId, guid,...)
@ CpuAcc
CPU Execution: NEON: ArmCompute.
Definition BackendId.hpp:27
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 18 of file NeonWorkloadUtils.hpp.

18#define ARMNN_SCOPED_PROFILING_EVENT_NEON(name) \
19 ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(armnn::Compute::CpuAcc, \
20 armnn::EmptyOptional(), \
21 name, \
22 armnn::NeonTimer(), \
23 armnn::WallClockTimer())

◆ ARMNN_SCOPED_PROFILING_EVENT_NEON_GUID

#define ARMNN_SCOPED_PROFILING_EVENT_NEON_GUID ( name,
guid )
Value:

Definition at line 25 of file NeonWorkloadUtils.hpp.

25#define ARMNN_SCOPED_PROFILING_EVENT_NEON_GUID(name, guid) \
26 ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(armnn::Compute::CpuAcc, \
27 guid, \
28 GetName() + "_" + name, \
29 armnn::NeonTimer(), \
30 armnn::WallClockTimer())

Referenced by NeonFusedWorkload::Execute().

◆ ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID

#define ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID ( label)
Value:

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

Definition at line 33 of file NeonWorkloadUtils.hpp.

33#define ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID(label) \
34 ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(armnn::Compute::CpuAcc, \
35 this->GetGuid(), \
36 this->GetName() + "_" + label, \
37 armnn::NeonTimer(), \
38 armnn::WallClockTimer())

Referenced by NeonAbsWorkload::Execute(), NeonActivationWorkload::Execute(), NeonAdditionWorkload::Execute(), NeonArgMinMaxWorkload::Execute(), NeonBatchMatMulWorkload::Execute(), NeonBatchNormalizationWorkload::Execute(), NeonBatchToSpaceNdWorkload::Execute(), NeonCastWorkload::Execute(), NeonChannelShuffleWorkload::Execute(), NeonComparisonWorkload::Execute(), NeonConcatWorkload::Execute(), NeonConstantWorkload::Execute(), NeonConvertFp16ToFp32Workload::Execute(), NeonConvertFp32ToFp16Workload::Execute(), NeonConvolution2dWorkload::Execute(), NeonConvolution3dWorkload::Execute(), NeonDepthToSpaceWorkload::Execute(), NeonDepthwiseConvolutionWorkload::Execute(), NeonDequantizeWorkload::Execute(), NeonDetectionPostProcessWorkload::Execute(), NeonDivisionWorkload::Execute(), NeonElementwiseBinaryWorkload::Execute(), NeonExpWorkload::Execute(), NeonFillWorkload::Execute(), NeonFloorDivWorkload::Execute(), NeonFloorFloatWorkload::Execute(), NeonFullyConnectedWorkload::Execute(), NeonGatherNdWorkload::Execute(), NeonGatherWorkload::Execute(), NeonInstanceNormalizationWorkload::Execute(), NeonL2NormalizationFloatWorkload::Execute(), NeonLogicalAndWorkload::Execute(), NeonLogicalNotWorkload::Execute(), NeonLogicalOrWorkload::Execute(), NeonLogSoftmaxWorkload::Execute(), NeonLogWorkload::Execute(), NeonLstmFloatWorkload::Execute(), NeonMaximumWorkload::Execute(), NeonMeanWorkload::Execute(), NeonMinimumWorkload::Execute(), NeonMultiplicationWorkload::Execute(), NeonNegWorkload::Execute(), NeonNormalizationFloatWorkload::Execute(), NeonPadWorkload::Execute(), NeonPermuteWorkload::Execute(), NeonPooling2dWorkload::Execute(), NeonPooling3dWorkload::Execute(), NeonPreluWorkload::Execute(), NeonQLstmWorkload::Execute(), NeonQuantizedLstmWorkload::Execute(), NeonQuantizeWorkload::Execute(), NeonRankWorkload::Execute(), NeonReduceWorkload::Execute(), NeonReshapeWorkload::Execute(), NeonResizeWorkload::Execute(), NeonReverseV2Workload::Execute(), NeonRsqrtWorkload::Execute(), NeonSinWorkload::Execute(), NeonSliceWorkload::Execute(), NeonSoftmaxWorkload::Execute(), NeonSpaceToBatchNdWorkload::Execute(), NeonSpaceToDepthWorkload::Execute(), NeonSplitterWorkload::Execute(), NeonSqrtWorkload::Execute(), NeonStackWorkload::Execute(), NeonStridedSliceWorkload::Execute(), NeonSubtractionWorkload::Execute(), NeonTileWorkload::Execute(), NeonTransposeConvolution2dWorkload::Execute(), NeonTransposeWorkload::Execute(), NeonUnidirectionalSequenceLstmFloatWorkload::Execute(), and NeonUnidirectionalSequenceLstmWorkload::Execute().