diff --git a/ggml-sycl.cpp b/ggml-sycl.cpp index b3bfda0e4..8dd5f050f 100644 --- a/ggml-sycl.cpp +++ b/ggml-sycl.cpp @@ -17505,8 +17505,12 @@ GGML_CALL static bool ggml_backend_sycl_supports_op(ggml_backend_t backend, cons return false; } ggml_type a_type = a->type; - if (a_type == GGML_TYPE_IQ4_NL || a_type == GGML_TYPE_IQ4_XS) { - return false; + if (a_type == GGML_TYPE_IQ2_XXS || a_type == GGML_TYPE_IQ2_XS || a_type == GGML_TYPE_IQ3_XXS || + a_type == GGML_TYPE_IQ1_S || a_type == GGML_TYPE_IQ4_NL || a_type == GGML_TYPE_IQ3_S || + a_type == GGML_TYPE_IQ2_S || a_type == GGML_TYPE_IQ4_XS) { + if (b->ne[1] == 1 && ggml_nrows(b) > 1) { + return false; + } } return true; } break;