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

#include <RoPELayer.h>

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

Public Member Functions

 RoPELayer ()
 
 ~RoPELayer ()
 
void configure (const IPortableTensor *input, const IPortableTensor *sin, const IPortableTensor *cos, const nnfw::cker::RoPEMode mode, IPortableTensor *output)
 
void run () override
 
- Public Member Functions inherited from onert::exec::IFunction
virtual ~IFunction ()=default
 
virtual void prepare ()
 

Detailed Description

Definition at line 28 of file RoPELayer.h.

Constructor & Destructor Documentation

◆ RoPELayer()

onert::backend::cpu::ops::RoPELayer::RoPELayer ( )

Definition at line 54 of file RoPELayer.cc.

55 : _input(nullptr), _sin(nullptr), _cos(nullptr), _mode(nnfw::cker::RoPEMode::kGptNeox),
56 _output(nullptr)
57{
58 // DO NOTHING
59}

◆ ~RoPELayer()

onert::backend::cpu::ops::RoPELayer::~RoPELayer ( )
default

Member Function Documentation

◆ configure()

void onert::backend::cpu::ops::RoPELayer::configure ( const IPortableTensor input,
const IPortableTensor sin,
const IPortableTensor cos,
const nnfw::cker::RoPEMode  mode,
IPortableTensor output 
)

Definition at line 63 of file RoPELayer.cc.

66{
67 assert(input != nullptr);
68 assert(sin != nullptr);
69 assert(cos != nullptr);
70 assert(output != nullptr);
71
72 _input = input;
73 _sin = sin;
74 _cos = cos;
75 _mode = mode;
76 _output = output;
77}

◆ run()

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

Implements onert::exec::IFunction.

Definition at line 89 of file RoPELayer.cc.

90{
91 switch (_input->data_type())
92 {
93 case OperandType::FLOAT32:
94 rope<float>();
95 break;
96 case OperandType::INT32:
97 rope<int32_t>();
98 break;
99 case OperandType::INT64:
100 rope<int64_t>();
101 break;
102 case OperandType::QUANT_UINT8_ASYMM:
103 rope<uint8_t>();
104 break;
105 case OperandType::QUANT_INT8_ASYMM:
106 rope<int8_t>();
107 break;
108 default:
109 throw std::runtime_error("RoPE: unsupported data type");
110 }
111}
ir::DataType data_type() const override final

References onert::backend::IPortableTensor::data_type().


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