24 #ifndef ARM_COMPUTE_NEQLSTMLAYERNORMALIZATIONKERNEL_H 25 #define ARM_COMPUTE_NEQLSTMLAYERNORMALIZATIONKERNEL_H 38 const char *
name()
const override 40 return "NEQLSTMLayerNormalizationKernel";
78 static constexpr uint32_t max_input_dimension{ 2 };
79 static constexpr uint32_t max_weight_dimension{ 1 };
80 static constexpr uint32_t max_bias_dimension{ 1 };
81 static constexpr uint32_t vector_size_byte{ 16 };
83 using ComputeFuncType = std::function<void(NEQLSTMLayerNormalizationKernel &)>;
85 ComputeFuncType _fn{};
101 int32_t _output_multiplier{};
102 int32_t _output_shift{};
104 int32_t _window_start_x{};
105 int32_t _window_end_x{};
106 int32_t _window_step_x{};
119 void compute_qsymm16();
125 std::pair<int64_t, int64_t> sum_qsymm16(
const int16_t *input_ptr);
137 void normalize_qasymm16(
const int16_t *input_ptr,
139 const int16_t *weight_ptr,
140 const int32_t *bias_ptr,
141 int32_t mean, int32_t inv_std_mul, int32_t inv_std_shift);
static Status validate(const ITensorInfo *input, const ITensorInfo *output, const ITensorInfo *weight, const ITensorInfo *bias)
Static function to check if given info will lead to a valid configuration of NEQLSTMLayerNormalizatio...
const Window & window() const
The maximum window the kernel can be executed on.
Common interface for all kernels implemented in C++.
Store the tensor's metadata.
Interface for Neon tensor.
Copyright (c) 2017-2021 Arm Limited.
Quantization information.
NEQLSTMLayerNormalizationKernel & operator=(const NEQLSTMLayerNormalizationKernel &)=delete
Prevent instances of this class from being copied (As this class contains pointers) ...
Neon kernel to perform layer normalization.
NEQLSTMLayerNormalizationKernel()=default
Default constructor.
ScaleKernelInfo info(interpolation_policy, default_border_mode, PixelValue(), sampling_policy, false)
Information about executing thread and CPU.
void configure(const ITensor *input, ITensor *output, const ITensor *weight, const ITensor *bias)
Set the input and output tensors.
void run(const Window &window, const ThreadInfo &info) override
Execute the kernel on the passed window.
const char * name() const override
Name of the kernel.
Describe a multidimensional execution window.
~NEQLSTMLayerNormalizationKernel()=default
Default destructor.