ONE - On-device Neural Engine
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
onert::backend::cpu::ops::AddNLayer Class Reference

#include <AddNLayer.h>

Collaboration diagram for onert::backend::cpu::ops::AddNLayer:

Public Member Functions

 AddNLayer ()
 
void configure (std::vector< const IPortableTensor * > &&inputs, IPortableTensor *output)
 
void run () override
 
- Public Member Functions inherited from onert::exec::IFunction
virtual ~IFunction ()=default
 
virtual void prepare ()
 

Detailed Description

Definition at line 27 of file AddNLayer.h.

Constructor & Destructor Documentation

◆ AddNLayer()

onert::backend::cpu::ops::AddNLayer::AddNLayer ( )
inline

Definition at line 30 of file AddNLayer.h.

30: _inputs(), _output(nullptr) {}

Member Function Documentation

◆ configure()

void onert::backend::cpu::ops::AddNLayer::configure ( std::vector< const IPortableTensor * > &&  inputs,
IPortableTensor output 
)

Definition at line 27 of file AddNLayer.cc.

28{
29 _inputs = std::move(inputs);
30 _output = output;
31}

◆ run()

void onert::backend::cpu::ops::AddNLayer::run ( )
overridevirtual

Implements onert::exec::IFunction.

Definition at line 33 of file AddNLayer.cc.

34{
35 size_t input_size = _inputs.size();
36 if (_output->data_type() == ir::DataType::INT32)
37 {
38 std::vector<const int32_t *> input_buffers(input_size);
39 for (size_t i = 0; i < input_size; i++)
40 {
41 input_buffers[i] = getBuffer<int32_t>(_inputs[i]);
42 }
43 AddN(getShape(_inputs[0]), input_size, input_buffers.data(), getBuffer<int32_t>(_output));
44 }
45 else if (_output->data_type() == ir::DataType::FLOAT32)
46 {
47 std::vector<const float *> input_buffers(input_size);
48 for (size_t i = 0; i < input_size; i++)
49 {
50 input_buffers[i] = getBuffer<float>(_inputs[i]);
51 }
52 AddN(getShape(_inputs[0]), input_size, input_buffers.data(), getBuffer<float>(_output));
53 }
54 else
55 {
56 throw std::runtime_error("AddN: unsupported data type");
57 }
58}
ir::DataType data_type() const override final
void AddN(const size_t flat_size, const size_t num_inputs, const T *const *input_data, T *output_data)
Definition PALAddN.h:29
nnfw::cker::Shape getShape(const IPortableTensor *tensor)

References onert::backend::IPortableTensor::data_type(), and onert::backend::cpu::ops::getShape().


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