ArmNN
 22.05
SampleDynamicAdditionWorkload Class Reference

#include <SampleDynamicAdditionWorkload.hpp>

Inheritance diagram for SampleDynamicAdditionWorkload:
BaseWorkload< armnn::AdditionQueueDescriptor > IWorkload

Public Member Functions

 SampleDynamicAdditionWorkload (const armnn::AdditionQueueDescriptor &descriptor, const armnn::WorkloadInfo &info)
 
void Execute () const override
 
- Public Member Functions inherited from BaseWorkload< armnn::AdditionQueueDescriptor >
 BaseWorkload (const armnn::AdditionQueueDescriptor &descriptor, const WorkloadInfo &info)
 
void ExecuteAsync (WorkingMemDescriptor &workingMemDescriptor) override
 
void PostAllocationConfigure () override
 
const armnn::AdditionQueueDescriptorGetData () const
 
arm::pipe::ProfilingGuid GetGuid () const final
 
virtual bool SupportsTensorHandleReplacement () const override
 
void ReplaceInputTensorHandle (ITensorHandle *tensorHandle, unsigned int slot) override
 
void ReplaceOutputTensorHandle (ITensorHandle *tensorHandle, unsigned int slot) override
 
- Public Member Functions inherited from IWorkload
virtual ~IWorkload ()
 
virtual void RegisterDebugCallback (const DebugCallbackFunction &)
 

Additional Inherited Members

- Protected Attributes inherited from BaseWorkload< armnn::AdditionQueueDescriptor >
armnn::AdditionQueueDescriptor m_Data
 
const arm::pipe::ProfilingGuid m_Guid
 

Detailed Description

Definition at line 13 of file SampleDynamicAdditionWorkload.hpp.

Constructor & Destructor Documentation

◆ SampleDynamicAdditionWorkload()

Definition at line 34 of file SampleDynamicAdditionWorkload.cpp.

36  : BaseWorkload(descriptor, info)
37 {}
BaseWorkload(const armnn::AdditionQueueDescriptor &descriptor, const WorkloadInfo &info)
Definition: Workload.hpp:36

Member Function Documentation

◆ Execute()

void Execute ( ) const
overridevirtual

Implements IWorkload.

Definition at line 39 of file SampleDynamicAdditionWorkload.cpp.

References sdb::GetInputTensorData(), TensorInfo::GetNumElements(), sdb::GetOutputTensorData(), sdb::GetTensorInfo(), BaseWorkload< armnn::AdditionQueueDescriptor >::m_Data, and QueueDescriptor::m_Inputs.

40 {
42  unsigned int num = info.GetNumElements();
43 
44  const float* inputData0 = GetInputTensorData(0, m_Data);
45  const float* inputData1 = GetInputTensorData(1, m_Data);
46  float* outputData = GetOutputTensorData(0, m_Data);
47 
48  for (unsigned int i = 0; i < num; ++i)
49  {
50  outputData[i] = inputData0[i] + inputData1[i];
51  }
52 }
const armnn::TensorInfo & GetTensorInfo(const armnn::ITensorHandle *tensorHandle)
const float * GetInputTensorData(unsigned int idx, const armnn::AdditionQueueDescriptor &data)
std::vector< ITensorHandle * > m_Inputs
unsigned int GetNumElements() const
Definition: Tensor.hpp:196
float * GetOutputTensorData(unsigned int idx, const armnn::AdditionQueueDescriptor &data)

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