|
|
@@ -7420,7 +7420,7 @@ static void ggml_cuda_mul_mat(const ggml_tensor * src0, const ggml_tensor * src1
|
|
|
} else if (all_on_device && !use_tensor_cores && src0->type == GGML_TYPE_F16 && !ggml_is_contiguous(src0) && !ggml_is_transposed(src1) && src1->ne[1] == 1) {
|
|
|
// KQV single-batch
|
|
|
ggml_cuda_mul_mat_vec_nc(src0, src1, dst);
|
|
|
- } else if (all_on_device && src0->type == GGML_TYPE_F16 && src1->type == GGML_TYPE_F32 && !ggml_is_transposed(src0) && !ggml_is_transposed(src1)) {
|
|
|
+ } else if (all_on_device && use_tensor_cores && src0->type == GGML_TYPE_F16 && src1->type == GGML_TYPE_F32 && !ggml_is_transposed(src0) && !ggml_is_transposed(src1)) {
|
|
|
// KQ + KQV multi-batch
|
|
|
ggml_cuda_mul_mat_mat_batched_cublas(src0, src1, dst);
|
|
|
} else if (src0->type == GGML_TYPE_F32) {
|