aboutsummaryrefslogtreecommitdiff
path: root/src/core/NEON/kernels/arm_gemm/quantized.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/NEON/kernels/arm_gemm/quantized.hpp')
-rw-r--r--src/core/NEON/kernels/arm_gemm/quantized.hpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/core/NEON/kernels/arm_gemm/quantized.hpp b/src/core/NEON/kernels/arm_gemm/quantized.hpp
index a91a888ad9..bc64fd967b 100644
--- a/src/core/NEON/kernels/arm_gemm/quantized.hpp
+++ b/src/core/NEON/kernels/arm_gemm/quantized.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019 Arm Limited.
+ * Copyright (c) 2019, 2023-2024 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -23,12 +23,14 @@
*/
#pragma once
+#include "utils.hpp" // IndirectInputArg
+
namespace arm_gemm {
template<typename Tin, typename Tout>
void requantize_block_32(const Requantize32 &qp, unsigned int width, unsigned int height,
const Tin *input, unsigned int in_stride, Tout *output, unsigned int out_stride,
- const int32_t *row_bias, const int32_t *col_bias);
+ const int32_t *row_bias, const int32_t *col_bias, unsigned int start_col);
template<typename T>
void compute_row_sums(const Requantize32 &qp, unsigned int width, unsigned int height,
@@ -39,4 +41,12 @@ void compute_col_sums(const Requantize32 &qp, unsigned int width, unsigned int h
const T *input, unsigned int in_stride, int32_t *col_bias, unsigned int depth,
unsigned int multi, unsigned int first_col);
+template<typename T>
+void row_sums_indirect(size_t num_strings, const unsigned int *string_lengths, IndirectInputArg<T> A_arg,
+ size_t M, int32_t *output_ptr, const Requantize32 *qp);
+
+void dequantize_block_32(const DequantizeFloat &qp, unsigned int width, unsigned int height,
+ const int32_t* input, unsigned int in_stride, float *output, unsigned int out_stride,
+ const float *row_bias, bool not_first_pass, const Activation &act);
+
} // namespace arm_gemm