perf: sync ggml
This commit is contained in:
parent
24636d4eb7
commit
7aeb2fab63
2
ggml
2
ggml
@ -1 +1 @@
|
|||||||
Subproject commit 27ce87dde7f259dbb336d67e44eb98bc786c5036
|
Subproject commit ed522bb8051658899b2f4a5bbb5483a5d21fcfb2
|
@ -1182,7 +1182,11 @@ struct DownSample {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void asymmetric_pad(struct ggml_tensor* dst, const struct ggml_tensor* a, const struct ggml_tensor* b) {
|
// TODO: making it parallel
|
||||||
|
static void asymmetric_pad(struct ggml_tensor* dst,
|
||||||
|
const struct ggml_tensor* a,
|
||||||
|
const struct ggml_tensor* b,
|
||||||
|
int ith, int nth, void * userdata) {
|
||||||
assert(sizeof(dst->nb[0]) == sizeof(float));
|
assert(sizeof(dst->nb[0]) == sizeof(float));
|
||||||
assert(sizeof(a->nb[0]) == sizeof(float));
|
assert(sizeof(a->nb[0]) == sizeof(float));
|
||||||
assert(sizeof(b->nb[0]) == sizeof(float));
|
assert(sizeof(b->nb[0]) == sizeof(float));
|
||||||
@ -1213,7 +1217,7 @@ struct DownSample {
|
|||||||
auto pad_x = ggml_new_tensor_4d(ctx, x->type, x->ne[0] + 1, x->ne[1] + 1, x->ne[2], x->ne[3]);
|
auto pad_x = ggml_new_tensor_4d(ctx, x->type, x->ne[0] + 1, x->ne[1] + 1, x->ne[2], x->ne[3]);
|
||||||
ggml_set_dynamic(ctx, dynamic);
|
ggml_set_dynamic(ctx, dynamic);
|
||||||
|
|
||||||
x = ggml_map_custom2_inplace_f32(ctx, pad_x, x, asymmetric_pad);
|
x = ggml_map_custom2_inplace(ctx, pad_x, x, asymmetric_pad, 1, NULL);
|
||||||
x = ggml_conv_2d(ctx, op_w, x, 2, 2, 0, 0, 1, 1);
|
x = ggml_conv_2d(ctx, op_w, x, 2, 2, 0, 0, 1, 1);
|
||||||
} else {
|
} else {
|
||||||
x = ggml_conv_2d(ctx, op_w, x, 2, 2, 1, 1, 1, 1);
|
x = ggml_conv_2d(ctx, op_w, x, 2, 2, 1, 1, 1, 1);
|
||||||
@ -2684,13 +2688,7 @@ class StableDiffusionGGML {
|
|||||||
|
|
||||||
const size_t num_bytes = nelements / ggml_blck_size(ggml_type(ttype)) * ggml_type_size(ggml_type(ttype));
|
const size_t num_bytes = nelements / ggml_blck_size(ggml_type(ttype)) * ggml_type_size(ggml_type(ttype));
|
||||||
|
|
||||||
if (num_bytes != ggml_nbytes(tensor)) {
|
file.read(reinterpret_cast<char*>(tensor->data), num_bytes);
|
||||||
LOG_ERROR("tensor '%s' has wrong size in model file: got %zu, expected %zu",
|
|
||||||
name.data(), num_bytes, ggml_nbytes(tensor));
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
file.read(reinterpret_cast<char*>(tensor->data), ggml_nbytes(tensor));
|
|
||||||
|
|
||||||
total_size += ggml_nbytes(tensor);
|
total_size += ggml_nbytes(tensor);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user