char-fork/llama.cpp
git clone https://git.t4t.associates/char-fork/llama.cpp
e8c54893f
char/aliceai-t5-moe
1#ifdef U32_DEQUANT_HELPERS 2fn dequant_q4_0_packed_to_shmem(q_packed: u32, d: f16, dst_idx: u32) { 3 let scale = QUANT_OUT_TYPE(d); 4 for (var k = 0u; k < 4u; k++) { 5 let q_byte = get_byte(q_packed, k); 6 let q_hi = (QUANT_OUT_TYPE((q_byte >> 4) & 0xFu) - QUANT_OUT_TYPE(8.0)) * scale; 7 let q_lo = (QUANT_OUT_TYPE(q_byte & 0xFu) - QUANT_OUT_TYPE(8.0)) * scale; 8 QUANT_SHMEM[dst_idx + k] = q_lo; 9 QUANT_SHMEM[dst_idx + k + 16u] = q_hi; 10 } 11} 12 13fn dequant_q8_0_packed_to_shmem(q_packed: u32, d: f16, dst_idx: u32) { 14 let scale = QUANT_OUT_TYPE(d); 15 for (var k = 0u; k < 4u; k++) { 16 let q_byte = get_byte_i32(q_packed, k); 17 let q_val = QUANT_OUT_TYPE(q_byte) * scale; 18 QUANT_SHMEM[dst_idx + k] = q_val; 19 } 20} 21#endif