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