ArmNN
 23.08
NeonBaseWorkload< QueueDescriptor > Class Template Reference

#include <NeonBaseWorkload.hpp>

Inheritance diagram for NeonBaseWorkload< QueueDescriptor >:
[legend]
Collaboration diagram for NeonBaseWorkload< QueueDescriptor >:
[legend]

Public Member Functions

 NeonBaseWorkload (const QueueDescriptor &descriptor, const WorkloadInfo &info)
 
void ReplaceInputTensorHandle (ITensorHandle *tensorHandle, unsigned int slot) override
 
void ReplaceOutputTensorHandle (ITensorHandle *tensorHandle, unsigned int slot) override
 
- Public Member Functions inherited from BaseWorkload< QueueDescriptor >
 BaseWorkload (const QueueDescriptor &descriptor, const WorkloadInfo &info)
 
virtual const std::string & GetName () const override
 
void ExecuteAsync (ExecutionData &executionData) override
 
void PostAllocationConfigure () override
 
const QueueDescriptorGetData () const
 
arm::pipe::ProfilingGuid GetGuid () const final
 
virtual bool SupportsTensorHandleReplacement () const override
 
- Public Member Functions inherited from IWorkload
virtual ~IWorkload ()
 
virtual void Execute () const =0
 
virtual void RegisterDebugCallback (const DebugCallbackFunction &)
 
virtual armnn::Optional< armnn::MemoryRequirementsGetMemoryRequirements ()
 

Protected Member Functions

virtual void Reconfigure ()
 

Additional Inherited Members

- Protected Attributes inherited from BaseWorkload< QueueDescriptor >
QueueDescriptor m_Data
 
const arm::pipe::ProfilingGuid m_Guid
 
const std::string m_Name
 

Detailed Description

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

Definition at line 13 of file NeonBaseWorkload.hpp.

Constructor & Destructor Documentation

◆ NeonBaseWorkload()

NeonBaseWorkload ( const QueueDescriptor descriptor,
const WorkloadInfo info 
)
inline

Definition at line 16 of file NeonBaseWorkload.hpp.

17  : BaseWorkload<QueueDescriptor>(descriptor, info)
18  {}

Member Function Documentation

◆ Reconfigure()

virtual void Reconfigure ( )
inlineprotectedvirtual

Definition at line 56 of file NeonBaseWorkload.hpp.

57  {
58  throw armnn::UnimplementedException("Reconfigure not implemented for this workload");
59  }

Referenced by NeonBaseWorkload< RsqrtQueueDescriptor >::ReplaceInputTensorHandle(), and NeonBaseWorkload< RsqrtQueueDescriptor >::ReplaceOutputTensorHandle().

◆ ReplaceInputTensorHandle()

void ReplaceInputTensorHandle ( ITensorHandle tensorHandle,
unsigned int  slot 
)
inlineoverridevirtual

Reimplemented from BaseWorkload< QueueDescriptor >.

Definition at line 21 of file NeonBaseWorkload.hpp.

22  {
23  ITensorHandle* backupHandle = this->m_Data.m_Inputs[slot];
24  this->m_Data.m_Inputs[slot] = tensorHandle;
25  try
26  {
27  Reconfigure();
28  }
30  {
31  // Cannot reconfigure, revert the slot back and throw the exception.
32  this->m_Data.m_Inputs[slot] = backupHandle;
33  throw e;
34  }
35  }

◆ ReplaceOutputTensorHandle()

void ReplaceOutputTensorHandle ( ITensorHandle tensorHandle,
unsigned int  slot 
)
inlineoverridevirtual

Reimplemented from BaseWorkload< QueueDescriptor >.

Definition at line 38 of file NeonBaseWorkload.hpp.

39  {
40  ITensorHandle* backupHandle = this->m_Data.m_Outputs[slot];
41  this->m_Data.m_Outputs[slot] = tensorHandle;
42  try
43  {
44  Reconfigure();
45  }
47  {
48  // Cannot reconfigure, revert the slot back and throw the exception.
49  this->m_Data.m_Inputs[slot] = backupHandle;
50  throw e;
51  }
52  }

The documentation for this class was generated from the following file:
armnn::NeonBaseWorkload::Reconfigure
virtual void Reconfigure()
Definition: NeonBaseWorkload.hpp:56
armnn::QueueDescriptor::m_Outputs
std::vector< ITensorHandle * > m_Outputs
Definition: WorkloadData.hpp:27
armnn::BaseWorkload::m_Data
QueueDescriptor m_Data
Definition: Workload.hpp:89
armnn::UnimplementedException
Definition: Exceptions.hpp:98
armnn::QueueDescriptor::m_Inputs
std::vector< ITensorHandle * > m_Inputs
Definition: WorkloadData.hpp:26