diff options
Diffstat (limited to 'src/core/NEON/kernels/arm_gemm/quantized.hpp')
-rw-r--r-- | src/core/NEON/kernels/arm_gemm/quantized.hpp | 14 |
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 |