| 1126 | } |
| 1127 | |
| 1128 | void gguf_add_tensor( |
| 1129 | struct gguf_context * ctx, |
| 1130 | const struct ggml_tensor * tensor) { |
| 1131 | GGML_ASSERT(tensor); |
| 1132 | if (gguf_find_tensor(ctx, tensor->name) != -1) { |
| 1133 | GGML_ABORT("duplicate tensor name: %s", tensor->name); |
| 1134 | } |
| 1135 | |
| 1136 | struct gguf_tensor_info ti; |
| 1137 | ti.t = *tensor; |
| 1138 | ti.offset = ctx->info.empty() ? 0 : |
| 1139 | ctx->info.back().offset + GGML_PAD(ggml_nbytes(&ctx->info.back().t), ctx->alignment); |
| 1140 | ctx->info.push_back(ti); |
| 1141 | } |
| 1142 | |
| 1143 | void gguf_set_tensor_type(struct gguf_context * ctx, const char * name, enum ggml_type type) { |
| 1144 | const int64_t tensor_id = gguf_find_tensor(ctx, name); |