mollysama commited on
Commit
4be146e
·
1 Parent(s): 4bec2e4

ggml-cpu: Fix build with sve (llama/12059)

Browse files

* ggml-cpu: Fix build with sve

Signed-off-by: Molly Sophia <[email protected]>

* ggml-cpu: Remove unused variable in sve q3_k vec dot

Signed-off-by: Molly Sophia <[email protected]>

---------

Signed-off-by: Molly Sophia <[email protected]>

ggml/src/ggml-cpu/ggml-cpu-quants.c CHANGED
@@ -5265,6 +5265,7 @@ void ggml_vec_dot_q3_K_q8_K(int n, float * restrict s, size_t bs, const void * r
5265
 
5266
  #if defined(__ARM_FEATURE_SVE)
5267
 
 
5268
  uint32_t utmp[4];
5269
 
5270
  const int8_t m32 = 32;
@@ -5276,7 +5277,6 @@ void ggml_vec_dot_q3_K_q8_K(int n, float * restrict s, size_t bs, const void * r
5276
  const svuint8_t m1_sv = svlsl_n_u8_x(svptrue_b8(), m0_sv, 1);
5277
  const svuint8_t m2_sv = svlsl_n_u8_x(svptrue_b8(), m0_sv, 2);
5278
  const svuint8_t m3_sv = svlsl_n_u8_x(svptrue_b8(), m0_sv, 3);
5279
- svbool_t pred_s32 = svnot_b_z (svptrue_b32(), svptrue_pat_b32(SV_VL4));
5280
 
5281
  float sum = 0;
5282
 
@@ -5289,7 +5289,7 @@ void ggml_vec_dot_q3_K_q8_K(int n, float * restrict s, size_t bs, const void * r
5289
  const int8_t * restrict q8_sv = y[i].qs;
5290
 
5291
  // Set up scales
5292
- uint32_t * aux = &x[i].scales;
5293
  utmp[3] = ((aux[1] >> 4) & kmask2) | (((aux[2] >> 6) & kmask1) << 4);
5294
  utmp[2] = ((aux[0] >> 4) & kmask2) | (((aux[2] >> 4) & kmask1) << 4);
5295
  utmp[1] = (aux[1] & kmask2) | (((aux[2] >> 2) & kmask1) << 4);
 
5265
 
5266
  #if defined(__ARM_FEATURE_SVE)
5267
 
5268
+ uint32_t aux[3];
5269
  uint32_t utmp[4];
5270
 
5271
  const int8_t m32 = 32;
 
5277
  const svuint8_t m1_sv = svlsl_n_u8_x(svptrue_b8(), m0_sv, 1);
5278
  const svuint8_t m2_sv = svlsl_n_u8_x(svptrue_b8(), m0_sv, 2);
5279
  const svuint8_t m3_sv = svlsl_n_u8_x(svptrue_b8(), m0_sv, 3);
 
5280
 
5281
  float sum = 0;
5282
 
 
5289
  const int8_t * restrict q8_sv = y[i].qs;
5290
 
5291
  // Set up scales
5292
+ memcpy(aux, x[i].scales, 12);
5293
  utmp[3] = ((aux[1] >> 4) & kmask2) | (((aux[2] >> 6) & kmask1) << 4);
5294
  utmp[2] = ((aux[0] >> 4) & kmask2) | (((aux[2] >> 4) & kmask1) << 4);
5295
  utmp[1] = (aux[1] & kmask2) | (((aux[2] >> 2) & kmask1) << 4);