parent
df71c803b4
commit
630c84a2bd
|
|
@ -4549,6 +4549,8 @@ static void ggml_compute_forward_set_rows_f32(
|
||||||
const int ir0 = dr*ith;
|
const int ir0 = dr*ith;
|
||||||
const int ir1 = MIN(ir0 + dr, nr);
|
const int ir1 = MIN(ir0 + dr, nr);
|
||||||
|
|
||||||
|
ggml_from_float_t const from_float = ggml_get_type_traits_cpu(dst->type)->from_float;
|
||||||
|
|
||||||
for (int64_t i03 = 0; i03 < ne03; ++i03) {
|
for (int64_t i03 = 0; i03 < ne03; ++i03) {
|
||||||
for (int64_t i02 = 0; i02 < ne02; ++i02) {
|
for (int64_t i02 = 0; i02 < ne02; ++i02) {
|
||||||
for (int64_t i = ir0; i < ir1; ++i) {
|
for (int64_t i = ir0; i < ir1; ++i) {
|
||||||
|
|
@ -4560,9 +4562,9 @@ static void ggml_compute_forward_set_rows_f32(
|
||||||
|
|
||||||
GGML_ASSERT(i01 >= 0 && i01 < ne1);
|
GGML_ASSERT(i01 >= 0 && i01 < ne1);
|
||||||
|
|
||||||
ggml_cpu_fp32_to_fp16(
|
from_float(
|
||||||
(const float *) ((char *) src0->data + i*nb01 + i02*nb02 + i03*nb03),
|
(const float *) ((char *) src0->data + i*nb01 + i02*nb02 + i03*nb03),
|
||||||
(ggml_fp16_t *) ((char *) dst->data + i01*nb1 + i02*nb2 + i03*nb3), nc);
|
((char *) dst->data + i01*nb1 + i02*nb2 + i03*nb3), nc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3417,7 +3417,6 @@ struct ggml_tensor * ggml_set_rows(
|
||||||
GGML_ASSERT(b->ne[2] % c->ne[1] == 0);
|
GGML_ASSERT(b->ne[2] % c->ne[1] == 0);
|
||||||
GGML_ASSERT(b->ne[3] % c->ne[2] == 0);
|
GGML_ASSERT(b->ne[3] % c->ne[2] == 0);
|
||||||
GGML_ASSERT(c->ne[3] == 1);
|
GGML_ASSERT(c->ne[3] == 1);
|
||||||
GGML_ASSERT(a->type == GGML_TYPE_F16); // TODO: relax
|
|
||||||
GGML_ASSERT(b->type == GGML_TYPE_F32);
|
GGML_ASSERT(b->type == GGML_TYPE_F32);
|
||||||
GGML_ASSERT(c->type == GGML_TYPE_I64);
|
GGML_ASSERT(c->type == GGML_TYPE_I64);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue