ONE - On-device Neural Engine
Loading...
Searching...
No Matches
onert::backend::cpu::ops::TileLayer Class Reference

#include <TileLayer.h>

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

Public Member Functions

 TileLayer ()
 
void tileFloat32 ()
 
void tileQuant8 ()
 
void configure (const IPortableTensor *input, const IPortableTensor *_multipliers, 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 TileLayer.h.

Constructor & Destructor Documentation

◆ TileLayer()

onert::backend::cpu::ops::TileLayer::TileLayer ( )

Definition at line 51 of file TileLayer.cc.

51 : _input(nullptr), _multipliers(nullptr), _output(nullptr)
52{
53 // DO NOTHING
54}

Member Function Documentation

◆ configure()

void onert::backend::cpu::ops::TileLayer::configure ( const IPortableTensor input,
const IPortableTensor _multipliers,
IPortableTensor output 
)

Definition at line 68 of file TileLayer.cc.

70{
71 _input = input;
72 _multipliers = multipliers;
73 _output = output;
74}

◆ run()

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

Implements onert::exec::IFunction.

Definition at line 76 of file TileLayer.cc.

77{
78 if (_input->data_type() == OperandType::FLOAT32)
79 {
81 }
82 else if (_input->data_type() == OperandType::QUANT_UINT8_ASYMM)
83 {
84 tileQuant8();
85 }
86 else
87 {
88 throw std::runtime_error{"Tile: unsupported data type"};
89 }
90}
ir::DataType data_type() const override final

References onert::backend::IPortableTensor::data_type(), tileFloat32(), and tileQuant8().

◆ tileFloat32()

void onert::backend::cpu::ops::TileLayer::tileFloat32 ( )

Definition at line 56 of file TileLayer.cc.

57{
58 TileOneDimension(getShape(_input), getBuffer<float>(_input), getBuffer<int>(_multipliers),
59 getBuffer<float>(_output), 0);
60}
std::pair< int, int > TileOneDimension(const Shape &in_dimensions, const T *in_data, const M *multipliers, T *out_data, int dimension)
Definition Tile.h:41
nnfw::cker::Shape getShape(const IPortableTensor *tensor)

References onert::backend::cpu::ops::getShape().

Referenced by run().

◆ tileQuant8()

void onert::backend::cpu::ops::TileLayer::tileQuant8 ( )

Definition at line 62 of file TileLayer.cc.

63{
64 // cker quant8 tile is not implemented yet
65 throw std::runtime_error{"NYI"};
66}

Referenced by run().


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