ONE - On-device Neural Engine
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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 24 of file RoPELayer.cc.

25 : _input(nullptr), _sin(nullptr), _cos(nullptr), _mode(nnfw::cker::RoPEMode::kGptNeox),
26 _output(nullptr)
27{
28 // DO NOTHING
29}

◆ ~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 33 of file RoPELayer.cc.

36{
37 assert(input != nullptr);
38 assert(sin != nullptr);
39 assert(cos != nullptr);
40 assert(output != nullptr);
41
42 _input = input;
43 _sin = sin;
44 _cos = cos;
45 _mode = mode;
46 _output = output;
47}

◆ run()

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

Implements onert::exec::IFunction.

Definition at line 59 of file RoPELayer.cc.

60{
61 switch (_input->data_type())
62 {
63 case OperandType::FLOAT32:
64 rope<float>();
65 break;
66 case OperandType::INT32:
67 rope<int32_t>();
68 break;
69 case OperandType::INT64:
70 rope<int64_t>();
71 break;
72 case OperandType::QUANT_UINT8_ASYMM:
73 rope<uint8_t>();
74 break;
75 case OperandType::QUANT_INT8_ASYMM:
76 rope<int8_t>();
77 break;
78 default:
79 throw std::runtime_error("RoPE: unsupported data type");
80 }
81}
ir::DataType data_type() const override final

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


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