summaryrefslogtreecommitdiff
path: root/ggml/src/ggml-common.h
diff options
context:
space:
mode:
authorKawrakow <iwankawrakow@gmail.com>2025-05-17 08:57:26 +0300
committerGitHub <noreply@github.com>2025-05-17 08:57:26 +0300
commit7abdf2b099ecf9bea156a635a8f22d168483f2b1 (patch)
tree98a642e178695ba49f0a31a4a4b2700b28cdf69b /ggml/src/ggml-common.h
parent134d5481737c05421eb1ba7cd7573136e3fdbd69 (diff)
IQ5_KS_R4: row-interleaved IQ5_KS (#426)
* iq5_ks_r4: basics * iq5_ks_r4: Zen4 works * iq5_ks_r4: AVX2 works * iq5_ks_r4: NEON * Fix iq5_ks on NEON --------- Co-authored-by: Iwan Kawrakow <iwan.kawrakow@gmail.com>
Diffstat (limited to 'ggml/src/ggml-common.h')
-rw-r--r--ggml/src/ggml-common.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/ggml/src/ggml-common.h b/ggml/src/ggml-common.h
index 1c2d1b17..26041ac2 100644
--- a/ggml/src/ggml-common.h
+++ b/ggml/src/ggml-common.h
@@ -694,6 +694,13 @@ typedef struct {
} block_iq5_ks;
static_assert(sizeof(block_iq5_ks) == QK_K/32 + QK_K/2 + QK_K/8, "wrong iq5_ks block size/padding");
+typedef struct {
+ uint8_t scales[QK_K/8];
+ uint8_t qs[QK_K*2];
+ uint8_t qh[QK_K/2];
+} block_iq5_ks_r4;
+static_assert(sizeof(block_iq5_ks_r4) == 4*sizeof(block_iq5_ks), "wrong iq5_ks_r4 block size/padding");
+
#endif // GGML_COMMON_DECL
#endif // GGML_COMMON_DECL