ArmNN
 25.11
Loading...
Searching...
No Matches
Profiling.hpp File Reference
#include <common/include/ProfilingGuid.hpp>
#include "ProfilingEvent.hpp"
#include "ProfilingDetails.hpp"
#include "armnn/IProfiler.hpp"
#include <armnn/Optional.hpp>
#include <armnn/utility/IgnoreUnused.hpp>
#include "WallClockTimer.hpp"
#include <chrono>
#include <iosfwd>
#include <ctime>
#include <vector>
#include <stack>
#include <map>
Include dependency graph for Profiling.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ProfilerImpl
struct  ProfilerImpl::Marker
struct  ProfilerImpl::ProfilingEventStats
class  ProfilerManager
class  ScopedProfilingEvent

Namespaces

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

Macros

#define ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS_UNIQUE_LOC_INNER(lineNumber, backendId, guid, ...)
#define ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS_UNIQUE_LOC(lineNumber, backendId, guid, ...)
#define ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(backendId, guid, ...)
#define ARMNN_SCOPED_PROFILING_EVENT(backendId, name)
#define ARMNN_SCOPED_PROFILING_EVENT_GUID(backendId, name, guid)
#define ARMNN_REPORT_PROFILING_WORKLOAD_DESC(name, desc, infos, guid)

Functions

template<typename DescriptorType>
void ProfilingUpdateDescriptions (const std::string &name, const DescriptorType &desc, const WorkloadInfo &infos, const arm::pipe::ProfilingGuid guid)

Macro Definition Documentation

◆ ARMNN_REPORT_PROFILING_WORKLOAD_DESC

#define ARMNN_REPORT_PROFILING_WORKLOAD_DESC ( name,
desc,
infos,
guid )
Value:
armnn::ProfilingUpdateDescriptions(name, desc, infos, guid);
void ProfilingUpdateDescriptions(const std::string &name, const DescriptorType &desc, const WorkloadInfo &infos, const arm::pipe::ProfilingGuid guid)

Definition at line 227 of file Profiling.hpp.

227#define ARMNN_REPORT_PROFILING_WORKLOAD_DESC(name, desc, infos, guid) \
228 armnn::ProfilingUpdateDescriptions(name, desc, infos, guid);

Referenced by ClActivationWorkload::ClActivationWorkload(), ClArgMinMaxWorkload::ClArgMinMaxWorkload(), ClBatchMatMulWorkload::ClBatchMatMulWorkload(), ClBatchNormalizationFloatWorkload::ClBatchNormalizationFloatWorkload(), ClBatchToSpaceNdWorkload::ClBatchToSpaceNdWorkload(), ClChannelShuffleWorkload::ClChannelShuffleWorkload(), ClComparisonWorkload::ClComparisonWorkload(), ClConcatWorkload::ClConcatWorkload(), ClConvolution2dWorkload::ClConvolution2dWorkload(), ClConvolution3dWorkload::ClConvolution3dWorkload(), ClDepthToSpaceWorkload::ClDepthToSpaceWorkload(), ClDepthwiseConvolutionWorkload::ClDepthwiseConvolutionWorkload(), ClExpWorkload::ClExpWorkload(), ClFillWorkload::ClFillWorkload(), ClFullyConnectedWorkload::ClFullyConnectedWorkload(), ClGatherWorkload::ClGatherWorkload(), ClInstanceNormalizationWorkload::ClInstanceNormalizationWorkload(), ClL2NormalizationFloatWorkload::ClL2NormalizationFloatWorkload(), ClLogicalAndWorkload::ClLogicalAndWorkload(), ClLogicalNotWorkload::ClLogicalNotWorkload(), ClLogicalOrWorkload::ClLogicalOrWorkload(), ClLogSoftmaxWorkload::ClLogSoftmaxWorkload(), ClLstmFloatWorkload::ClLstmFloatWorkload(), ClMeanWorkload::ClMeanWorkload(), ClNormalizationFloatWorkload::ClNormalizationFloatWorkload(), ClPadWorkload::ClPadWorkload(), ClPermuteWorkload::ClPermuteWorkload(), ClPooling2dWorkload::ClPooling2dWorkload(), ClPooling3dWorkload::ClPooling3dWorkload(), ClQLstmWorkload::ClQLstmWorkload(), ClReduceWorkload::ClReduceWorkload(), ClResizeWorkload::ClResizeWorkload(), ClScatterNdWorkload::ClScatterNdWorkload(), ClSliceWorkload::ClSliceWorkload(), ClSoftmaxWorkload::ClSoftmaxWorkload(), ClSpaceToBatchNdWorkload::ClSpaceToBatchNdWorkload(), ClSpaceToDepthWorkload::ClSpaceToDepthWorkload(), ClSplitterWorkload::ClSplitterWorkload(), ClSqrtWorkload::ClSqrtWorkload(), ClStackWorkload::ClStackWorkload(), ClStridedSliceWorkload::ClStridedSliceWorkload(), ClTransposeConvolution2dWorkload::ClTransposeConvolution2dWorkload(), ClTransposeWorkload::ClTransposeWorkload(), ClUnidirectionalSequenceLstmFloatWorkload::ClUnidirectionalSequenceLstmFloatWorkload(), NeonActivationWorkload::NeonActivationWorkload(), NeonArgMinMaxWorkload::NeonArgMinMaxWorkload(), NeonBatchMatMulWorkload::NeonBatchMatMulWorkload(), NeonBatchNormalizationWorkload::NeonBatchNormalizationWorkload(), NeonBatchToSpaceNdWorkload::NeonBatchToSpaceNdWorkload(), NeonChannelShuffleWorkload::NeonChannelShuffleWorkload(), NeonComparisonWorkload::NeonComparisonWorkload(), NeonConcatWorkload::NeonConcatWorkload(), NeonConvolution2dWorkload::NeonConvolution2dWorkload(), NeonConvolution3dWorkload::NeonConvolution3dWorkload(), NeonDepthToSpaceWorkload::NeonDepthToSpaceWorkload(), NeonDepthwiseConvolutionWorkload::NeonDepthwiseConvolutionWorkload(), NeonDetectionPostProcessWorkload::NeonDetectionPostProcessWorkload(), NeonExpWorkload::NeonExpWorkload(), NeonFillWorkload::NeonFillWorkload(), NeonFullyConnectedWorkload::NeonFullyConnectedWorkload(), NeonGatherWorkload::NeonGatherWorkload(), NeonInstanceNormalizationWorkload::NeonInstanceNormalizationWorkload(), NeonL2NormalizationFloatWorkload::NeonL2NormalizationFloatWorkload(), NeonLogicalAndWorkload::NeonLogicalAndWorkload(), NeonLogicalNotWorkload::NeonLogicalNotWorkload(), NeonLogicalOrWorkload::NeonLogicalOrWorkload(), NeonLogSoftmaxWorkload::NeonLogSoftmaxWorkload(), NeonLstmFloatWorkload::NeonLstmFloatWorkload(), NeonMeanWorkload::NeonMeanWorkload(), NeonNormalizationFloatWorkload::NeonNormalizationFloatWorkload(), NeonPadWorkload::NeonPadWorkload(), NeonPermuteWorkload::NeonPermuteWorkload(), NeonPooling2dWorkload::NeonPooling2dWorkload(), NeonPooling3dWorkload::NeonPooling3dWorkload(), NeonQLstmWorkload::NeonQLstmWorkload(), NeonReduceWorkload::NeonReduceWorkload(), NeonResizeWorkload::NeonResizeWorkload(), NeonSliceWorkload::NeonSliceWorkload(), NeonSoftmaxWorkload::NeonSoftmaxWorkload(), NeonSpaceToBatchNdWorkload::NeonSpaceToBatchNdWorkload(), NeonSpaceToDepthWorkload::NeonSpaceToDepthWorkload(), NeonSplitterWorkload::NeonSplitterWorkload(), NeonSqrtWorkload::NeonSqrtWorkload(), NeonStackWorkload::NeonStackWorkload(), NeonStridedSliceWorkload::NeonStridedSliceWorkload(), NeonTransposeConvolution2dWorkload::NeonTransposeConvolution2dWorkload(), NeonTransposeWorkload::NeonTransposeWorkload(), NeonUnidirectionalSequenceLstmFloatWorkload::NeonUnidirectionalSequenceLstmFloatWorkload(), NeonUnidirectionalSequenceLstmWorkload::NeonUnidirectionalSequenceLstmWorkload(), RefConvolution2dWorkload::RefConvolution2dWorkload(), RefConvolution3dWorkload::RefConvolution3dWorkload(), and RefDepthwiseConvolution2dWorkload::RefDepthwiseConvolution2dWorkload().

◆ ARMNN_SCOPED_PROFILING_EVENT

#define ARMNN_SCOPED_PROFILING_EVENT ( backendId,
name )

◆ ARMNN_SCOPED_PROFILING_EVENT_GUID

#define ARMNN_SCOPED_PROFILING_EVENT_GUID ( backendId,
name,
guid )
Value:

Definition at line 223 of file Profiling.hpp.

223#define ARMNN_SCOPED_PROFILING_EVENT_GUID(backendId, name, guid) \
224 ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(backendId, guid, name, armnn::WallClockTimer())

◆ ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS

#define ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS ( backendId,
guid,
... )
Value:
ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS_UNIQUE_LOC(__LINE__,backendId, guid, /*name,*/ __VA_ARGS__)
#define ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS_UNIQUE_LOC(lineNumber, backendId, guid,...)

Definition at line 217 of file Profiling.hpp.

217#define ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS(backendId, guid, /*name,*/ ...) \
218 ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS_UNIQUE_LOC(__LINE__,backendId, guid, /*name,*/ __VA_ARGS__)

◆ ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS_UNIQUE_LOC

#define ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS_UNIQUE_LOC ( lineNumber,
backendId,
guid,
... )
Value:
ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS_UNIQUE_LOC_INNER(lineNumber, backendId, guid, /*name,*/ __VA_ARGS__)
#define ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS_UNIQUE_LOC_INNER(lineNumber, backendId, guid,...)

Definition at line 207 of file Profiling.hpp.

207#define ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS_UNIQUE_LOC(lineNumber, backendId, guid, /*name,*/ ...) \
208 ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS_UNIQUE_LOC_INNER(lineNumber, backendId, guid, /*name,*/ __VA_ARGS__)

◆ ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS_UNIQUE_LOC_INNER

#define ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS_UNIQUE_LOC_INNER ( lineNumber,
backendId,
guid,
... )
Value:
armnn::ScopedProfilingEvent e_ ## lineNumber(backendId, guid, /*name,*/ __VA_ARGS__);

Definition at line 204 of file Profiling.hpp.

204#define ARMNN_SCOPED_PROFILING_EVENT_WITH_INSTRUMENTS_UNIQUE_LOC_INNER(lineNumber, backendId, guid, /*name,*/ ...) \
205 armnn::ScopedProfilingEvent e_ ## lineNumber(backendId, guid, /*name,*/ __VA_ARGS__);