}
float scale = make_qp_quants(32, kMaxQ+1, xval, (uint8_t*)L, weight);
float eff_max = scale*kMaxQ;
+ if (eff_max <= 0) {
+ scales[ib] = 0;
+ memset(L, 0, 32);
+ continue;
+ }
float best = 0;
for (int is = -6; is <= 6; ++is) {
float id = (2*kMaxQ-1+is*0.1f)/eff_max;
}
float max = xval[0];
for (int i = 1; i < 16; ++i) max = MAX(max, xval[i]);
+ memset(L, 0, 16);
if (max < GROUP_MAX_EPS) {
scales[ib] = 0;
- memset(L, 0, 16);
continue;
}
float best = 0;
}
float max = xval[0];
for (int i = 1; i < 32; ++i) max = MAX(max, xval[i]);
+ memset(L, 0, 32);
if (max < GROUP_MAX_EPS_IQ3_XXS) {
scales[ib] = 0;
- memset(L, 0, 32);
continue;
}
float best = 0;
}
float max = xval[0];
for (int i = 1; i < block_size; ++i) max = MAX(max, xval[i]);
+ memset(L, 0, block_size);
if (!max) {
scales[ib] = 0;
continue;
for (int i = 1; i < block_size; ++i) max = MAX(max, fabsf(xb[i]));
if (max < GROUP_MAX_EPS_IQ1_S) {
scales[ib] = 0;
+ shifts[ib] = 1;
memset(L, 1, block_size);
continue;
}
}
}
}
- GGML_ASSERT(besti1 >= 0 && besti2 >= 0 && best_shift != 0);
+ if (besti1 < 0 || besti2 < 0 || best_shift == 0) {
+ scales[ib] = 0;
+ shifts[ib] = 1;
+ memset(L, 1, block_size);
+ continue;
+ }
for (int j = 0; j < besti1; ++j) L[idx[2*j]] = 0;
for (int j = besti1; j < besti2; ++j) L[idx[2*j]] = 1;
for (int j = besti2; j < block_size; ++j) L[idx[2*j]] = 2;
for (int i = 1; i < block_size; ++i) max = MAX(max, fabsf(xb[i]));
if (max < GROUP_MAX_EPS_IQ1_M) {
scales[ib] = 0;
+ shifts[ib] = 0;
memset(L, 1, block_size);
continue;
}
}
}
}
- GGML_ASSERT(besti1 >= 0 && besti2 >= 0 && best_k >= 0);
+ if (besti1 < 0 || besti2 < 0 || best_k < 0) {
+ scales[ib] = 0;
+ shifts[ib] = 0;
+ memset(L, 1, block_size);
+ continue;
+ }
for (int j = 0; j < besti1; ++j) L[idx[2*j]] = 0;
for (int j = besti1; j < besti2; ++j) L[idx[2*j]] = 1;
for (int j = besti2; j < block_size; ++j) L[idx[2*j]] = 2;
}
float max = xval[0];
for (int i = 1; i < 16; ++i) max = MAX(max, xval[i]);
+ memset(L, 0, 16);
if (max < GROUP_MAX_EPS_IQ2_S) {
scales[ib] = 0;
continue;