ArmNN
 25.11
Loading...
Searching...
No Matches
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 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()

template<typename QueueDescriptor>
NeonBaseWorkload ( const QueueDescriptor & descriptor,
const WorkloadInfo & info )
inline

Definition at line 16 of file NeonBaseWorkload.hpp.

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

References BaseWorkload< QueueDescriptor >::BaseWorkload(), and armnn::info.

Member Function Documentation

◆ Reconfigure()

template<typename QueueDescriptor>
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 ReplaceInputTensorHandle(), and ReplaceOutputTensorHandle().

◆ ReplaceInputTensorHandle()

template<typename QueueDescriptor>
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 }
29 catch(armnn::UnimplementedException& e)
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 }

References BaseWorkload< QueueDescriptor >::m_Data, and Reconfigure().

◆ ReplaceOutputTensorHandle()

template<typename QueueDescriptor>
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 }
46 catch(armnn::UnimplementedException& e)
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 }

References BaseWorkload< QueueDescriptor >::m_Data, and Reconfigure().


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