mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-30 08:42:00 +00:00 
			
		
		
		
	Fix opencl by wrap #if-else-endif with \n (#2086)
This commit is contained in:
		| @@ -653,13 +653,17 @@ __kernel void dequantize_mul_mat_vec_q6_K(__global const struct block_q6_K * xx, | |||||||
|     const int im = tid/step;                             // 0 or 1. 0 computes 0..., 1 computes 128... |     const int im = tid/step;                             // 0 or 1. 0 computes 0..., 1 computes 128... | ||||||
|     const int in = tid - step*im;                        // 0...15 or 0...7 |     const int in = tid - step*im;                        // 0...15 or 0...7 | ||||||
|  |  | ||||||
| #if K_QUANTS_PER_ITERATION == 1 | \n#if K_QUANTS_PER_ITERATION == 1\n | ||||||
|     const int l0 = K_QUANTS_PER_ITERATION*in;            // 0...15 |     const int l0 = K_QUANTS_PER_ITERATION*in;            // 0...15 | ||||||
|     const int is = 0; |     const int is = 0; | ||||||
| #else |  | ||||||
|  | \n#else\n | ||||||
|  |  | ||||||
|     const int l0 = 4 * in;                               // 0, 4, 8, ..., 28 |     const int l0 = 4 * in;                               // 0, 4, 8, ..., 28 | ||||||
|     const int is = in / 4; |     const int is = in / 4; | ||||||
| #endif |  | ||||||
|  | \n#endif\n | ||||||
|  |  | ||||||
|     const int ql_offset = 64*im + l0; |     const int ql_offset = 64*im + l0; | ||||||
|     const int qh_offset = 32*im + l0; |     const int qh_offset = 32*im + l0; | ||||||
|     const int s_offset  =  8*im + is; |     const int s_offset  =  8*im + is; | ||||||
| @@ -676,7 +680,7 @@ __kernel void dequantize_mul_mat_vec_q6_K(__global const struct block_q6_K * xx, | |||||||
|  |  | ||||||
|         const float d = vload_half(0, &x[i].d); |         const float d = vload_half(0, &x[i].d); | ||||||
|  |  | ||||||
| #if K_QUANTS_PER_ITERATION == 1 | \n#if K_QUANTS_PER_ITERATION == 1\n | ||||||
|         float sum = y[ 0] * s[0] * d * ((int8_t)((ql[ 0] & 0xF) | ((qh[ 0] & 0x03) << 4)) - 32) |         float sum = y[ 0] * s[0] * d * ((int8_t)((ql[ 0] & 0xF) | ((qh[ 0] & 0x03) << 4)) - 32) | ||||||
|                   + y[16] * s[1] * d * ((int8_t)((ql[16] & 0xF) | ((qh[16] & 0x03) << 4)) - 32) |                   + y[16] * s[1] * d * ((int8_t)((ql[16] & 0xF) | ((qh[16] & 0x03) << 4)) - 32) | ||||||
|                   + y[32] * s[2] * d * ((int8_t)((ql[32] & 0xF) | ((qh[ 0] & 0x0c) << 2)) - 32) |                   + y[32] * s[2] * d * ((int8_t)((ql[32] & 0xF) | ((qh[ 0] & 0x0c) << 2)) - 32) | ||||||
| @@ -686,7 +690,7 @@ __kernel void dequantize_mul_mat_vec_q6_K(__global const struct block_q6_K * xx, | |||||||
|                   + y[96] * s[6] * d * ((int8_t)((ql[32]  >> 4) | ((qh[ 0] & 0xc0) >> 2)) - 32) |                   + y[96] * s[6] * d * ((int8_t)((ql[32]  >> 4) | ((qh[ 0] & 0xc0) >> 2)) - 32) | ||||||
|                   +y[112] * s[7] * d * ((int8_t)((ql[48]  >> 4) | ((qh[16] & 0xc0) >> 2)) - 32); |                   +y[112] * s[7] * d * ((int8_t)((ql[48]  >> 4) | ((qh[16] & 0xc0) >> 2)) - 32); | ||||||
|         tmp[16 * ix + tid] += sum; |         tmp[16 * ix + tid] += sum; | ||||||
| #else | \n#else\n | ||||||
|         float sum = 0; |         float sum = 0; | ||||||
|         for (int l = 0; l < 4; ++l) { |         for (int l = 0; l < 4; ++l) { | ||||||
|             sum += y[l+ 0] * s[0] * d * ((int8_t)((ql[l+ 0] & 0xF) | (((qh[l] >> 0) & 3) << 4)) - 32) |             sum += y[l+ 0] * s[0] * d * ((int8_t)((ql[l+ 0] & 0xF) | (((qh[l] >> 0) & 3) << 4)) - 32) | ||||||
| @@ -695,7 +699,7 @@ __kernel void dequantize_mul_mat_vec_q6_K(__global const struct block_q6_K * xx, | |||||||
|                  + y[l+96] * s[6] * d * ((int8_t)((ql[l+32]  >> 4) | (((qh[l] >> 6) & 3) << 4)) - 32); |                  + y[l+96] * s[6] * d * ((int8_t)((ql[l+32]  >> 4) | (((qh[l] >> 6) & 3) << 4)) - 32); | ||||||
|         } |         } | ||||||
|         tmp[16 * ix + tid] += sum; |         tmp[16 * ix + tid] += sum; | ||||||
| #endif | \n#endif\n | ||||||
|  |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Howard Su
					Howard Su