cosmopolitan/third_party/ggml/ggjt.v2.q8_1.h
Justine Tunney 8fdb31681a
Introduce support for GGJT v3 file format
llama.com can now load weights that use the new file format which was
introduced a few weeks ago. Note that, unlike llama.cpp, we will keep
support for old file formats in our tool so you don't need to convert
your weights when the upstream project makes breaking changes. Please
note that using ggjt v3 does make avx2 inference go 5% faster for me.
2023-06-03 15:46:21 -07:00

19 lines
657 B
C

#ifndef COSMOPOLITAN_THIRD_PARTY_GGML_GGJT_V2_Q8_1_H_
#define COSMOPOLITAN_THIRD_PARTY_GGML_GGJT_V2_Q8_1_H_
#if !(__ASSEMBLER__ + __LINKER__ + 0)
COSMOPOLITAN_C_START_
#define V2_QK8_1 32
typedef struct {
float d; // delta
float s; // d * sum(qs[i])
int8_t qs[V2_QK8_1]; // quants
} block_v2_q8_1;
void quantize_row_v2_q8_1(const float* restrict, void* restrict, int);
void quantize_row_v2_q8_1_reference(const float* restrict,
block_v2_q8_1* restrict, int);
COSMOPOLITAN_C_END_
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
#endif /* COSMOPOLITAN_THIRD_PARTY_GGML_GGJT_V2_Q8_1_H_ */