1#pragma once
 2
 3#include <cstddef>
 4
 5namespace sqnbitgemm_spacemit_ime {
 6namespace ime1 {
 7size_t gemm_kernel_i8i4(size_t            blk_len,
 8                        const std::byte * quant_a_ptr,
 9                        const std::byte * quant_b_data,
10                        const float *     quant_b_scale,
11                        const std::byte * quant_b_zp,
12                        float *           c_ptr,
13                        size_t            count_m,
14                        size_t            count_n,
15                        size_t            count_k,
16                        size_t            block_count_k,
17                        size_t            ldc,
18                        const float *     bias,
19                        const size_t      scale_stride);
20
21void quantize_a_row_i8(size_t blk_len, const float * a_ptr, size_t count_k, std::byte * quant_a_ptr);
22
23void quantize_a_4row_i8(size_t blk_len, const float * a_ptr, size_t count_k, std::byte * quant_a_ptr);
24
25}  // namespace ime1
26}  // namespace sqnbitgemm_spacemit_ime