| 12716 | } |
| 12717 | |
| 12718 | static void ggml_compute_forward_flash_ff( |
| 12719 | const struct ggml_compute_params * params, |
| 12720 | const struct ggml_tensor * a, |
| 12721 | const struct ggml_tensor * b0, |
| 12722 | const struct ggml_tensor * b1, |
| 12723 | const struct ggml_tensor * c0, |
| 12724 | const struct ggml_tensor * c1, |
| 12725 | struct ggml_tensor * dst) { |
| 12726 | switch (b0->type) { |
| 12727 | case GGML_TYPE_F16: |
| 12728 | { |
| 12729 | ggml_compute_forward_flash_ff_f16(params, a, b0, b1, c0, c1, dst); |
| 12730 | } break; |
| 12731 | case GGML_TYPE_F32: |
| 12732 | { |
| 12733 | GGML_ASSERT(false); // TODO |
| 12734 | } break; |
| 12735 | default: |
| 12736 | { |
| 12737 | GGML_ASSERT(false); |
| 12738 | } break; |
| 12739 | } |
| 12740 | } |
| 12741 | |
| 12742 | // ggml_compute_forward_flash_attn_back |
| 12743 |
no test coverage detected