ggml : refactor ggml_view_Nd into ggml_view_tensor_offset

This commit is contained in:
slaren 2023-07-27 18:40:52 +02:00
parent e39e62ba4a
commit e592a17a75

23
ggml.c
View file

@ -6251,7 +6251,14 @@ static struct ggml_tensor * ggml_view_tensor_offset(
if (a->data != NULL) {
data = (char *) a->data + offset;
}
return ggml_new_tensor_impl(ctx, a->type, n_dims, ne, data);
struct ggml_tensor * result = ggml_new_tensor_impl(ctx, a->type, n_dims, ne, data);
ggml_format_name(result, "%s (view)", a->name);
ggml_set_op_params(result, &offset, sizeof(offset));
return result;
}
struct ggml_tensor * ggml_view_1d(
@ -6267,9 +6274,6 @@ struct ggml_tensor * ggml_view_1d(
}
struct ggml_tensor * result = ggml_view_tensor_offset(ctx, a, 1, &ne0, offset);
ggml_format_name(result, "%s (view)", a->name);
ggml_set_op_params(result, &offset, sizeof(offset));
result->op = GGML_OP_VIEW;
result->grad = is_node ? ggml_dup_tensor(ctx, result) : NULL;
@ -6298,10 +6302,6 @@ struct ggml_tensor * ggml_view_2d(
struct ggml_tensor * result = ggml_view_tensor_offset(ctx, a, 2, ne, offset);
ggml_format_name(result, "%s (view)", a->name);
ggml_set_op_params(result, &offset, sizeof(offset));
result->nb[1] = nb1;
result->nb[2] = result->nb[1]*ne1;
result->nb[3] = result->nb[2];
@ -6335,10 +6335,6 @@ struct ggml_tensor * ggml_view_3d(
struct ggml_tensor * result = ggml_view_tensor_offset(ctx, a, 3, ne, offset);
ggml_format_name(result, "%s (view)", a->name);
ggml_set_op_params(result, &offset, sizeof(offset));
result->nb[1] = nb1;
result->nb[2] = nb2;
result->nb[3] = result->nb[2]*ne2;
@ -6373,9 +6369,6 @@ struct ggml_tensor * ggml_view_4d(
const int64_t ne[GGML_MAX_DIMS] = { ne0, ne1, ne2, ne3 };
struct ggml_tensor * result = ggml_view_tensor_offset(ctx, a, 4, ne, offset);
ggml_format_name(result, "%s (view)", a->name);
ggml_set_op_params(result, &offset, sizeof(offset));
result->nb[1] = nb1;
result->nb[2] = nb2;