| 10523 | } |
| 10524 | |
| 10525 | static void ggml_compute_forward_get_rows_back( |
| 10526 | const struct ggml_compute_params * params, |
| 10527 | const struct ggml_tensor * src0, |
| 10528 | const struct ggml_tensor * src1, |
| 10529 | struct ggml_tensor * dst) { |
| 10530 | switch (src0->type) { |
| 10531 | case GGML_TYPE_F16: |
| 10532 | { |
| 10533 | ggml_compute_forward_get_rows_back_f32_f16(params, src0, src1, dst); |
| 10534 | } break; |
| 10535 | case GGML_TYPE_F32: |
| 10536 | { |
| 10537 | ggml_compute_forward_get_rows_back_f32(params, src0, src1, dst); |
| 10538 | } break; |
| 10539 | default: |
| 10540 | { |
| 10541 | GGML_ASSERT(false); |
| 10542 | } break; |
| 10543 | } |
| 10544 | |
| 10545 | //static bool first = true; |
| 10546 | //printf("ne0 = %d, ne1 = %d, ne2 = %d\n", dst->ne[0], dst->ne[1], dst->ne[2]); |
| 10547 | //if (first) { |
| 10548 | // first = false; |
| 10549 | //} else { |
| 10550 | // for (int k = 0; k < dst->ne[1]; ++k) { |
| 10551 | // for (int j = 0; j < dst->ne[0]/16; ++j) { |
| 10552 | // for (int i = 0; i < 16; ++i) { |
| 10553 | // printf("%8.4f ", ((float *) dst->data)[k*dst->ne[0] + j*16 + i]); |
| 10554 | // } |
| 10555 | // printf("\n"); |
| 10556 | // } |
| 10557 | // printf("\n"); |
| 10558 | // } |
| 10559 | // printf("\n"); |
| 10560 | // exit(0); |
| 10561 | //} |
| 10562 | } |
| 10563 | |
| 10564 | // ggml_compute_forward_diag |
| 10565 |
no test coverage detected