MCPcopy Create free account
hub / github.com/Tiiny-AI/PowerInfer / ggml_quantize_chunk

Function ggml_quantize_chunk

ggml.c:19232–19311  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

19230}
19231
19232size_t ggml_quantize_chunk(enum ggml_type type, const float * src, void * dst, int start, int n, int64_t * hist) {
19233 size_t result = 0;
19234 switch (type) {
19235 case GGML_TYPE_Q4_0:
19236 {
19237 GGML_ASSERT(start % QK4_0 == 0);
19238 block_q4_0 * block = (block_q4_0*)dst + start / QK4_0;
19239 result = ggml_quantize_q4_0(src + start, block, n, n, hist);
19240 } break;
19241 case GGML_TYPE_Q4_1:
19242 {
19243 GGML_ASSERT(start % QK4_1 == 0);
19244 block_q4_1 * block = (block_q4_1*)dst + start / QK4_1;
19245 result = ggml_quantize_q4_1(src + start, block, n, n, hist);
19246 } break;
19247 case GGML_TYPE_Q5_0:
19248 {
19249 GGML_ASSERT(start % QK5_0 == 0);
19250 block_q5_0 * block = (block_q5_0*)dst + start / QK5_0;
19251 result = ggml_quantize_q5_0(src + start, block, n, n, hist);
19252 } break;
19253 case GGML_TYPE_Q5_1:
19254 {
19255 GGML_ASSERT(start % QK5_1 == 0);
19256 block_q5_1 * block = (block_q5_1*)dst + start / QK5_1;
19257 result = ggml_quantize_q5_1(src + start, block, n, n, hist);
19258 } break;
19259 case GGML_TYPE_Q8_0:
19260 {
19261 GGML_ASSERT(start % QK8_0 == 0);
19262 block_q8_0 * block = (block_q8_0*)dst + start / QK8_0;
19263 result = ggml_quantize_q8_0(src + start, block, n, n, hist);
19264 } break;
19265 case GGML_TYPE_Q2_K:
19266 {
19267 GGML_ASSERT(start % QK_K == 0);
19268 block_q2_K * block = (block_q2_K*)dst + start / QK_K;
19269 result = ggml_quantize_q2_K(src + start, block, n, n, hist);
19270 } break;
19271 case GGML_TYPE_Q3_K:
19272 {
19273 GGML_ASSERT(start % QK_K == 0);
19274 block_q3_K * block = (block_q3_K*)dst + start / QK_K;
19275 result = ggml_quantize_q3_K(src + start, block, n, n, hist);
19276 } break;
19277 case GGML_TYPE_Q4_K:
19278 {
19279 GGML_ASSERT(start % QK_K == 0);
19280 block_q4_K * block = (block_q4_K*)dst + start / QK_K;
19281 result = ggml_quantize_q4_K(src + start, block, n, n, hist);
19282 } break;
19283 case GGML_TYPE_Q5_K:
19284 {
19285 GGML_ASSERT(start % QK_K == 0);
19286 block_q5_K * block = (block_q5_K*)dst + start / QK_K;
19287 result = ggml_quantize_q5_K(src + start, block, n, n, hist);
19288 } break;
19289 case GGML_TYPE_Q6_K:

Callers 2

mainFunction · 0.50

Calls 11

ggml_quantize_q4_0Function · 0.85
ggml_quantize_q4_1Function · 0.85
ggml_quantize_q5_0Function · 0.85
ggml_quantize_q5_1Function · 0.85
ggml_quantize_q8_0Function · 0.85
ggml_quantize_q2_KFunction · 0.85
ggml_quantize_q3_KFunction · 0.85
ggml_quantize_q4_KFunction · 0.85
ggml_quantize_q5_KFunction · 0.85
ggml_quantize_q6_KFunction · 0.85
ggml_fp32_to_fp16_rowFunction · 0.70

Tested by

no test coverage detected