Skip to content

Commit fdc3760

Browse files
committed
ggml : simplify forward_dup_f32
1 parent 2235e14 commit fdc3760

File tree

1 file changed

+3
-19
lines changed

1 file changed

+3
-19
lines changed

ggml/src/ggml-cpu/ops.cpp

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -696,24 +696,8 @@ static void ggml_compute_forward_dup_f32(
696696
if (ggml_is_contiguous(dst)) {
697697
// TODO: simplify
698698
if (nb00 == sizeof(float)) {
699-
if (dst->type == GGML_TYPE_F32) {
700-
size_t id = 0;
701-
const size_t rs = ne00 * nb00;
702-
char * dst_ptr = (char *) dst->data;
703-
704-
for (int i03 = 0; i03 < ne03; i03++) {
705-
for (int i02 = 0; i02 < ne02; i02++) {
706-
id += rs * ir0;
707-
for (int i01 = ir0; i01 < ir1; i01++) {
708-
const char * src0_ptr = (char *) src0->data + i01*nb01 + i02*nb02 + i03*nb03;
709-
memcpy(dst_ptr + id, src0_ptr, rs);
710-
id += rs;
711-
}
712-
id += rs * (ne01 - ir1);
713-
}
714-
}
715-
} else if (ggml_get_type_traits_cpu(dst->type)->from_float) {
716-
ggml_from_float_t const quantize_row_q = ggml_get_type_traits_cpu(dst->type)->from_float;
699+
if (ggml_get_type_traits_cpu(dst->type)->from_float) {
700+
ggml_from_float_t const from_float = ggml_get_type_traits_cpu(dst->type)->from_float;
717701

718702
size_t id = 0;
719703
size_t rs = nb0 * (ne00 / ggml_blck_size(dst->type));
@@ -724,7 +708,7 @@ static void ggml_compute_forward_dup_f32(
724708
id += rs * ir0;
725709
for (int i01 = ir0; i01 < ir1; i01++) {
726710
const float * src0_ptr = (float *) ((char *) src0->data + i01*nb01 + i02*nb02 + i03*nb03);
727-
quantize_row_q(src0_ptr, dst_ptr + id, ne00);
711+
from_float(src0_ptr, dst_ptr + id, ne00);
728712
id += rs;
729713
}
730714
id += rs * (ne01 - ir1);

0 commit comments

Comments
 (0)