metal : simplify f16 and f32 dequant kernels (#0)

This commit is contained in:
Georgi Gerganov 2024-11-04 13:49:34 +02:00
parent f8e58135cf
commit 05697f670b
No known key found for this signature in database
GPG Key ID: 449E073F9DC10735

View File

@ -19,18 +19,12 @@ constexpr constant static float kvalues_iq4nl_f[16] = {
// NOTE: this is not dequantizing - we are simply fitting the template
template <typename type4x4>
void dequantize_f32(device const float4x4 * src, short il, thread type4x4 & reg) {
float4x4 temp = *(((device float4x4 *)src));
for (int i = 0; i < 16; i++){
reg[i/4][i%4] = temp[i/4][i%4];
}
reg = (type4x4)(*src);
}
template <typename type4x4>
void dequantize_f16(device const half4x4 * src, short il, thread type4x4 & reg) {
half4x4 temp = *(((device half4x4 *)src));
for (int i = 0; i < 16; i++){
reg[i/4][i%4] = temp[i/4][i%4];
}
reg = (type4x4)(*src);
}
template <typename type4x4>