Skip to content

Commit 2756c4f

Browse files
authored
gguf : remove special-case code for GGUFv1 (#3901)
ggml-ci
1 parent 1efae9b commit 2756c4f

File tree

2 files changed

+5
-53
lines changed

2 files changed

+5
-53
lines changed

ggml.c

Lines changed: 5 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -18811,8 +18811,7 @@ static bool gguf_fread_el(FILE * file, void * dst, size_t size, size_t * offset)
1881118811
return n == size;
1881218812
}
1881318813

18814-
// NOTE: temporary handling of GGUFv1 >> remove after Oct 2023
18815-
static bool gguf_fread_str_cur(FILE * file, struct gguf_str * p, size_t * offset) {
18814+
static bool gguf_fread_str(FILE * file, struct gguf_str * p, size_t * offset) {
1881618815
p->n = 0;
1881718816
p->data = NULL;
1881818817

@@ -18824,19 +18823,6 @@ static bool gguf_fread_str_cur(FILE * file, struct gguf_str * p, size_t * offset
1882418823
return ok;
1882518824
}
1882618825

18827-
static bool gguf_fread_str_v1(FILE * file, struct gguf_str * p, size_t * offset) {
18828-
p->n = 0;
18829-
p->data = NULL;
18830-
18831-
bool ok = true;
18832-
18833-
uint32_t n = 0;
18834-
ok = ok && gguf_fread_el(file, &n, sizeof(n), offset); p->data = calloc(n + 1, 1); p->n = n;
18835-
ok = ok && gguf_fread_el(file, p->data, p->n, offset);
18836-
18837-
return ok;
18838-
}
18839-
1884018826
struct gguf_context * gguf_init_empty(void) {
1884118827
struct gguf_context * ctx = GGML_ALIGNED_MALLOC(sizeof(struct gguf_context));
1884218828

@@ -18895,21 +18881,8 @@ struct gguf_context * gguf_init_from_file(const char * fname, struct gguf_init_p
1889518881
ctx->data = NULL;
1889618882

1889718883
ok = ok && gguf_fread_el(file, &ctx->header.version, sizeof(ctx->header.version), &offset);
18898-
18899-
if (ctx->header.version == 1) {
18900-
// NOTE: temporary handling of GGUFv1 >> remove after Oct 2023
18901-
uint32_t n_tensors = 0;
18902-
uint32_t n_kv = 0;
18903-
18904-
ok = ok && gguf_fread_el(file, &n_tensors, sizeof(n_tensors), &offset);
18905-
ok = ok && gguf_fread_el(file, &n_kv, sizeof(n_kv), &offset);
18906-
18907-
ctx->header.n_tensors = n_tensors;
18908-
ctx->header.n_kv = n_kv;
18909-
} else {
18910-
ok = ok && gguf_fread_el(file, &ctx->header.n_tensors, sizeof(ctx->header.n_tensors), &offset);
18911-
ok = ok && gguf_fread_el(file, &ctx->header.n_kv, sizeof(ctx->header.n_kv), &offset);
18912-
}
18884+
ok = ok && gguf_fread_el(file, &ctx->header.n_tensors, sizeof(ctx->header.n_tensors), &offset);
18885+
ok = ok && gguf_fread_el(file, &ctx->header.n_kv, sizeof(ctx->header.n_kv), &offset);
1891318886

1891418887
if (!ok) {
1891518888
fprintf(stderr, "%s: failed to read header\n", __func__);
@@ -18919,12 +18892,6 @@ struct gguf_context * gguf_init_from_file(const char * fname, struct gguf_init_p
1891918892
}
1892018893
}
1892118894

18922-
// NOTE: temporary handling of GGUFv1 >> remove after Oct 2023
18923-
bool (* gguf_fread_str)(FILE *, struct gguf_str *, size_t *) = gguf_fread_str_cur;
18924-
if (ctx->header.version == 1) {
18925-
gguf_fread_str = gguf_fread_str_v1;
18926-
}
18927-
1892818895
// read the kv pairs
1892918896
{
1893018897
ctx->kv = malloc(ctx->header.n_kv * sizeof(struct gguf_kv));
@@ -18955,15 +18922,7 @@ struct gguf_context * gguf_init_from_file(const char * fname, struct gguf_init_p
1895518922
case GGUF_TYPE_ARRAY:
1895618923
{
1895718924
ok = ok && gguf_fread_el(file, &kv->value.arr.type, sizeof(kv->value.arr.type), &offset);
18958-
18959-
if (ctx->header.version == 1) {
18960-
// NOTE: temporary handling of GGUFv1 >> remove after Oct 2023
18961-
uint32_t n = 0;
18962-
ok = ok && gguf_fread_el(file, &n, sizeof(n), &offset);
18963-
kv->value.arr.n = n;
18964-
} else {
18965-
ok = ok && gguf_fread_el(file, &kv->value.arr.n, sizeof(kv->value.arr.n), &offset);
18966-
}
18925+
ok = ok && gguf_fread_el(file, &kv->value.arr.n, sizeof(kv->value.arr.n), &offset);
1896718926

1896818927
switch (kv->value.arr.type) {
1896918928
case GGUF_TYPE_UINT8:
@@ -19022,14 +18981,7 @@ struct gguf_context * gguf_init_from_file(const char * fname, struct gguf_init_p
1902218981
ok = ok && gguf_fread_str(file, &info->name, &offset);
1902318982
ok = ok && gguf_fread_el (file, &info->n_dims, sizeof(info->n_dims), &offset);
1902418983
for (uint32_t j = 0; j < info->n_dims; ++j) {
19025-
if (ctx->header.version == 1) {
19026-
// NOTE: temporary handling of GGUFv1 >> remove after Oct 2023
19027-
uint32_t t = 0;
19028-
ok = ok && gguf_fread_el(file, &t, sizeof(t), &offset);
19029-
info->ne[j] = t;
19030-
} else {
19031-
ok = ok && gguf_fread_el(file, &info->ne[j], sizeof(info->ne[j]), &offset);
19032-
}
18984+
ok = ok && gguf_fread_el(file, &info->ne[j], sizeof(info->ne[j]), &offset);
1903318985
}
1903418986
ok = ok && gguf_fread_el (file, &info->type, sizeof(info->type), &offset);
1903518987
ok = ok && gguf_fread_el (file, &info->offset, sizeof(info->offset), &offset);

models/ggml-vocab-llama.gguf

125 KB
Binary file not shown.

0 commit comments

Comments
 (0)