ArmNN
 21.05
BaseWorkload< QueueDescriptor > Class Template Reference

#include <Workload.hpp>

Inheritance diagram for BaseWorkload< QueueDescriptor >:
IWorkload FirstInputTypedWorkload< QueueDescriptor, DataType > MultiTypedWorkload< QueueDescriptor, InputDataType, OutputDataType > TypedWorkload< QueueDescriptor, DataTypes > ClConvertFp16ToFp32Workload ClConvertFp32ToFp16Workload NeonConvertBf16ToFp32Workload NeonConvertFp16ToFp32Workload NeonConvertFp32ToBf16Workload NeonConvertFp32ToFp16Workload RefConvertBf16ToFp32Workload RefConvertFp16ToFp32Workload RefConvertFp32ToBf16Workload RefConvertFp32ToFp16Workload ClBatchNormalizationFloatWorkload ClFloorFloatWorkload ClL2NormalizationFloatWorkload ClLstmFloatWorkload ClNormalizationFloatWorkload NeonFloorFloatWorkload NeonL2NormalizationFloatWorkload NeonLstmFloatWorkload NeonNormalizationFloatWorkload RefFakeQuantizationFloat32Workload

Public Member Functions

 BaseWorkload (const QueueDescriptor &descriptor, const WorkloadInfo &info)
 
void ExecuteAsync (WorkingMemDescriptor &workingMemDescriptor) override
 
void PostAllocationConfigure () override
 
const QueueDescriptorGetData () const
 
profiling::ProfilingGuid GetGuid () const final
 
- Public Member Functions inherited from IWorkload
virtual ~IWorkload ()
 
virtual void Execute () const =0
 
virtual void RegisterDebugCallback (const DebugCallbackFunction &)
 

Protected Attributes

QueueDescriptor m_Data
 
const profiling::ProfilingGuid m_Guid
 

Detailed Description

template<typename QueueDescriptor>
class armnn::BaseWorkload< QueueDescriptor >

Definition at line 29 of file Workload.hpp.

Constructor & Destructor Documentation

◆ BaseWorkload()

BaseWorkload ( const QueueDescriptor descriptor,
const WorkloadInfo info 
)
inline

Definition at line 33 of file Workload.hpp.

34  : m_Data(descriptor),
36  {
37  m_Data.Validate(info);
38  }
const profiling::ProfilingGuid m_Guid
Definition: Workload.hpp:59
QueueDescriptor m_Data
Definition: Workload.hpp:58
static ProfilingDynamicGuid GetNextGuid()

Member Function Documentation

◆ ExecuteAsync()

void ExecuteAsync ( WorkingMemDescriptor workingMemDescriptor)
inlineoverridevirtual

Implements IWorkload.

Reimplemented in RefConvertBf16ToFp32Workload, RefConvertFp16ToFp32Workload, RefConvertFp32ToBf16Workload, RefConvertFp32ToFp16Workload, and RefFakeQuantizationFloat32Workload.

Definition at line 40 of file Workload.hpp.

41  {
42  ARMNN_LOG(info) << "Using default async workload execution, this will network affect performance";
43  std::lock_guard<std::mutex> lockGuard(m_AsyncWorkloadMutex);
44 
45  m_Data.m_Inputs = workingMemDescriptor.m_Inputs;
46  m_Data.m_Outputs = workingMemDescriptor.m_Outputs;
47 
48  Execute();
49  };
#define ARMNN_LOG(severity)
Definition: Logging.hpp:202
QueueDescriptor m_Data
Definition: Workload.hpp:58
std::vector< ITensorHandle * > m_Outputs
std::vector< ITensorHandle * > m_Inputs
virtual void Execute() const =0

◆ GetData()

const QueueDescriptor& GetData ( ) const
inline

Definition at line 53 of file Workload.hpp.

53 { return m_Data; }
QueueDescriptor m_Data
Definition: Workload.hpp:58

◆ GetGuid()

profiling::ProfilingGuid GetGuid ( ) const
inlinefinalvirtual

Implements IWorkload.

Definition at line 55 of file Workload.hpp.

55 { return m_Guid; }
const profiling::ProfilingGuid m_Guid
Definition: Workload.hpp:59

◆ PostAllocationConfigure()

void PostAllocationConfigure ( )
inlineoverridevirtual

Implements IWorkload.

Definition at line 51 of file Workload.hpp.

51 {}

Member Data Documentation

◆ m_Data

◆ m_Guid

const profiling::ProfilingGuid m_Guid
protected

Definition at line 59 of file Workload.hpp.


The documentation for this class was generated from the following file: