Skip to content

Commit

Permalink
ggml-quants : fix compiler warnings (shadow variable) (#5472)
Browse files Browse the repository at this point in the history
Co-authored-by: Iwan Kawrakow <iwan.kawrakow@gmail.com>
  • Loading branch information
ikawrakow and Kawrakow authored Feb 13, 2024
1 parent 099afc6 commit 895407f
Showing 1 changed file with 18 additions and 18 deletions.
36 changes: 18 additions & 18 deletions ggml-quants.c
Original file line number Diff line number Diff line change
Expand Up @@ -3819,15 +3819,15 @@ void ggml_vec_dot_q4_0_q8_0(int n, float * restrict s, size_t bs, const void * r
/* Compute combined scale for the block */
const __m256 d = _mm256_set1_ps( GGML_FP16_TO_FP32(x[i].d) * GGML_FP16_TO_FP32(y[i].d) );

__m256i bx = bytes_from_nibbles_32(x[i].qs);
__m256i qx = bytes_from_nibbles_32(x[i].qs);

// Now we have a vector with bytes in [ 0 .. 15 ] interval. Offset them into [ -8 .. +7 ] interval.
const __m256i off = _mm256_set1_epi8( 8 );
bx = _mm256_sub_epi8( bx, off );
qx = _mm256_sub_epi8( qx, off );

__m256i by = _mm256_loadu_si256((const __m256i *)y[i].qs);
__m256i qy = _mm256_loadu_si256((const __m256i *)y[i].qs);

const __m256 q = mul_sum_i8_pairs_float(bx, by);
const __m256 q = mul_sum_i8_pairs_float(qx, qy);

/* Multiply q with scale and accumulate */
acc = _mm256_fmadd_ps( d, q, acc );
Expand Down Expand Up @@ -4196,10 +4196,10 @@ void ggml_vec_dot_q4_1_q8_1(int n, float * restrict s, size_t bs, const void * r
const __m256 d0d1 = _mm256_mul_ps( d0v, d1v );

// Load 16 bytes, and unpack 4 bit fields into bytes, making 32 bytes
const __m256i bx = bytes_from_nibbles_32(x[i].qs);
const __m256i by = _mm256_loadu_si256( (const __m256i *)y[i].qs );
const __m256i qx = bytes_from_nibbles_32(x[i].qs);
const __m256i qy = _mm256_loadu_si256( (const __m256i *)y[i].qs );

const __m256 xy = mul_sum_us8_pairs_float(bx, by);
const __m256 xy = mul_sum_us8_pairs_float(qx, qy);

// Accumulate d0*d1*x*y
#if defined(__AVX2__)
Expand Down Expand Up @@ -4418,14 +4418,14 @@ void ggml_vec_dot_q5_0_q8_0(int n, float * restrict s, size_t bs, const void * r
/* Compute combined scale for the block */
const __m256 d = _mm256_set1_ps(GGML_FP16_TO_FP32(x[i].d) * GGML_FP16_TO_FP32(y[i].d));

__m256i bx = bytes_from_nibbles_32(x[i].qs);
__m256i qx = bytes_from_nibbles_32(x[i].qs);
__m256i bxhi = bytes_from_bits_32(x[i].qh);
bxhi = _mm256_andnot_si256(bxhi, _mm256_set1_epi8((char)0xF0));
bx = _mm256_or_si256(bx, bxhi);
qx = _mm256_or_si256(qx, bxhi);

__m256i by = _mm256_loadu_si256((const __m256i *)y[i].qs);
__m256i qy = _mm256_loadu_si256((const __m256i *)y[i].qs);

const __m256 q = mul_sum_i8_pairs_float(bx, by);
const __m256 q = mul_sum_i8_pairs_float(qx, qy);

/* Multiply q with scale and accumulate */
acc = _mm256_fmadd_ps(d, q, acc);
Expand Down Expand Up @@ -4722,15 +4722,15 @@ void ggml_vec_dot_q5_1_q8_1(int n, float * restrict s, size_t bs, const void * r

summs += GGML_FP16_TO_FP32(x[i].m) * y[i].s;

__m256i bx = bytes_from_nibbles_32(x[i].qs);
__m256i qx = bytes_from_nibbles_32(x[i].qs);
__m256i bxhi = bytes_from_bits_32(x[i].qh);
bxhi = _mm256_and_si256(bxhi, _mm256_set1_epi8(0x10));
bx = _mm256_or_si256(bx, bxhi);
qx = _mm256_or_si256(qx, bxhi);

const __m256 dy = _mm256_set1_ps(y[i].d);
const __m256i by = _mm256_loadu_si256((const __m256i *)y[i].qs);
const __m256i qy = _mm256_loadu_si256((const __m256i *)y[i].qs);

const __m256 q = mul_sum_us8_pairs_float(bx, by);
const __m256 q = mul_sum_us8_pairs_float(qx, qy);

acc = _mm256_fmadd_ps(q, _mm256_mul_ps(dx, dy), acc);
}
Expand Down Expand Up @@ -4973,10 +4973,10 @@ void ggml_vec_dot_q8_0_q8_0(int n, float * restrict s, size_t bs, const void * r
for (int i = 0; i < nb; ++i) {
// Compute combined scale for the block
const __m256 d = _mm256_set1_ps(GGML_FP16_TO_FP32(x[i].d) * GGML_FP16_TO_FP32(y[i].d));
__m256i bx = _mm256_loadu_si256((const __m256i *)x[i].qs);
__m256i by = _mm256_loadu_si256((const __m256i *)y[i].qs);
__m256i qx = _mm256_loadu_si256((const __m256i *)x[i].qs);
__m256i qy = _mm256_loadu_si256((const __m256i *)y[i].qs);

const __m256 q = mul_sum_i8_pairs_float(bx, by);
const __m256 q = mul_sum_i8_pairs_float(qx, qy);

// Multiply q with scale and accumulate
#if defined(__AVX2__)
Expand Down

0 comments on commit 895407f

Please sign in to comment.