@@ -137,6 +137,14 @@ typedef sycl::half2 ggml_half2;
137
137
138
138
#endif // GGML_COMMON_DECL_CUDA || GGML_COMMON_DECL_HIP
139
139
140
+ // 1.625 bpw for BitNet 1.58b models
141
+ #define QK1_3 64
142
+ typedef struct {
143
+ uint8_t q[(QK1_3 - 4 *QK1_3/64 )/5 ]; // 5 elements per byte (3^5 = 243 < 256)
144
+ uint8_t qs[QK1_3/64 ]; // 4 elements per byte
145
+ } block_q1_3;
146
+ static_assert (sizeof (block_q1_3) == (QK1_3 - 4 *QK1_3/64 )/5 + QK1_3/64, "wrong q1_3 block size/padding");
147
+
140
148
#define QK2_2 32
141
149
typedef struct {
142
150
uint8_t qs[QK2_2 / 4 ]; // nibbles / quants
@@ -339,6 +347,7 @@ typedef struct {
339
347
} block_iq3_s;
340
348
static_assert (sizeof (block_iq3_s) == sizeof(ggml_half) + 13*(QK_K/32 ) + IQ3S_N_SCALE, "wrong iq3_s block size/padding");
341
349
350
+ // 1.5625 bpw
342
351
typedef struct {
343
352
ggml_half d;
344
353
uint8_t qs[QK_K/8 ];
@@ -1095,6 +1104,41 @@ GGML_TABLE_BEGIN(uint32_t, q22_grid, 256)
1095
1104
0x00ffffff , 0x01ffffff , 0x00ffffff , 0xffffffff ,
1096
1105
GGML_TABLE_END ()
1097
1106
1107
+ GGML_TABLE_BEGIN (uint32_t , q1_3_grid, 256 )
1108
+ 0xffffffff , 0xffffffff , 0xffffff00 , 0xffffff01 , 0xffff00ff , 0xffff0000 , 0xffff0001 , 0xffff01ff ,
1109
+ 0xffff0100 , 0xffff0101 , 0xff00ffff , 0xff00ff00 , 0xff00ff01 , 0xff0000ff , 0xff000000 , 0xff000001 ,
1110
+ 0xff0001ff , 0xff000100 , 0xff000101 , 0xff01ffff , 0xff01ffff , 0xff01ff00 , 0xff01ff01 , 0xff0100ff ,
1111
+ 0xff010000 , 0xff010001 , 0xff0101ff , 0xff010100 , 0xff010101 , 0x00ffffff , 0x00ffff00 , 0x00ffff01 ,
1112
+ 0x00ff00ff , 0x00ff0000 , 0x00ff0001 , 0x00ff01ff , 0x00ff0100 , 0x00ff0101 , 0x0000ffff , 0x0000ff00 ,
1113
+ 0x0000ff00 , 0x0000ff01 , 0x000000ff , 0x00000000 , 0x00000001 , 0x000001ff , 0x00000100 , 0x00000101 ,
1114
+ 0x0001ffff , 0x0001ff00 , 0x0001ff01 , 0x000100ff , 0x00010000 , 0x00010001 , 0x000101ff , 0x00010100 ,
1115
+ 0x00010101 , 0x01ffffff , 0x01ffff00 , 0x01ffff01 , 0x01ffff01 , 0x01ff00ff , 0x01ff0000 , 0x01ff0001 ,
1116
+ 0x01ff01ff , 0x01ff0100 , 0x01ff0101 , 0x0100ffff , 0x0100ff00 , 0x0100ff01 , 0x010000ff , 0x01000000 ,
1117
+ 0x01000001 , 0x010001ff , 0x01000100 , 0x01000101 , 0x0101ffff , 0x0101ff00 , 0x0101ff01 , 0x0101ff01 ,
1118
+ 0x010100ff , 0x01010000 , 0x01010001 , 0x010101ff , 0x01010100 , 0x01010101 , 0xffffffff , 0xffffff00 ,
1119
+ 0xffffff01 , 0xffff00ff , 0xffff0000 , 0xffff0001 , 0xffff01ff , 0xffff0100 , 0xffff0101 , 0xff00ffff ,
1120
+ 0xff00ff00 , 0xff00ff01 , 0xff0000ff , 0xff0000ff , 0xff000000 , 0xff000001 , 0xff0001ff , 0xff000100 ,
1121
+ 0xff000101 , 0xff01ffff , 0xff01ff00 , 0xff01ff01 , 0xff0100ff , 0xff010000 , 0xff010001 , 0xff0101ff ,
1122
+ 0xff010100 , 0xff010101 , 0x00ffffff , 0x00ffff00 , 0x00ffff01 , 0x00ff00ff , 0x00ff0000 , 0x00ff0000 ,
1123
+ 0x00ff0001 , 0x00ff01ff , 0x00ff0100 , 0x00ff0101 , 0x0000ffff , 0x0000ff00 , 0x0000ff01 , 0x000000ff ,
1124
+ 0x00000000 , 0x00000001 , 0x000001ff , 0x00000100 , 0x00000101 , 0x0001ffff , 0x0001ff00 , 0x0001ff01 ,
1125
+ 0x000100ff , 0x00010000 , 0x00010000 , 0x00010001 , 0x000101ff , 0x00010100 , 0x00010101 , 0x01ffffff ,
1126
+ 0x01ffff00 , 0x01ffff01 , 0x01ff00ff , 0x01ff0000 , 0x01ff0001 , 0x01ff01ff , 0x01ff0100 , 0x01ff0101 ,
1127
+ 0x0100ffff , 0x0100ff00 , 0x0100ff01 , 0x010000ff , 0x01000000 , 0x01000001 , 0x01000001 , 0x010001ff ,
1128
+ 0x01000100 , 0x01000101 , 0x0101ffff , 0x0101ff00 , 0x0101ff01 , 0x010100ff , 0x01010000 , 0x01010001 ,
1129
+ 0x010101ff , 0x01010100 , 0x01010101 , 0xffffffff , 0xffffff00 , 0xffffff01 , 0xffff00ff , 0xffff0000 ,
1130
+ 0xffff0001 , 0xffff01ff , 0xffff01ff , 0xffff0100 , 0xffff0101 , 0xff00ffff , 0xff00ff00 , 0xff00ff01 ,
1131
+ 0xff0000ff , 0xff000000 , 0xff000001 , 0xff0001ff , 0xff000100 , 0xff000101 , 0xff01ffff , 0xff01ff00 ,
1132
+ 0xff01ff01 , 0xff0100ff , 0xff010000 , 0xff010001 , 0xff0101ff , 0xff0101ff , 0xff010100 , 0xff010101 ,
1133
+ 0x00ffffff , 0x00ffff00 , 0x00ffff01 , 0x00ff00ff , 0x00ff0000 , 0x00ff0001 , 0x00ff01ff , 0x00ff0100 ,
1134
+ 0x00ff0101 , 0x0000ffff , 0x0000ff00 , 0x0000ff01 , 0x000000ff , 0x00000000 , 0x00000001 , 0x000001ff ,
1135
+ 0x00000100 , 0x00000100 , 0x00000101 , 0x0001ffff , 0x0001ff00 , 0x0001ff01 , 0x000100ff , 0x00010000 ,
1136
+ 0x00010001 , 0x000101ff , 0x00010100 , 0x00010101 , 0x01ffffff , 0x01ffff00 , 0x01ffff01 , 0x01ff00ff ,
1137
+ 0x01ff0000 , 0x01ff0001 , 0x01ff01ff , 0x01ff0100 , 0x01ff0101 , 0x01ff0101 , 0x0100ffff , 0x0100ff00 ,
1138
+ 0x0100ff01 , 0x010000ff , 0x01000000 , 0x01000001 , 0x010001ff , 0x01000100 , 0x01000101 , 0x0101ffff ,
1139
+ 0x0101ff00 , 0x0101ff01 , 0x010100ff , 0x01010000 , 0x01010001 , 0x010101ff , 0x01010100 , 0x01010101 ,
1140
+ GGML_TABLE_END ()
1141
+
1098
1142
#define NGRID_IQ1S 2048
1099
1143
#define IQ1S_DELTA 0 .125f
1100
1144
#define IQ1M_DELTA 0 .125f
0 commit comments