diff --git a/ggml/src/ggml-sycl.cpp b/ggml/src/ggml-sycl.cpp index 71e2b59ec36bb..cfa8ecd764a9e 100644 --- a/ggml/src/ggml-sycl.cpp +++ b/ggml/src/ggml-sycl.cpp @@ -5325,7 +5325,13 @@ GGML_CALL static bool ggml_backend_sycl_supports_op(ggml_backend_t backend, cons if (a->ne[3] != b->ne[3]) { return false; } + ggml_type a_type = a->type; + + if (op->op == GGML_OP_MUL_MAT_ID || op->op == GGML_OP_MUL_MAT_ID){ + if (op->src[0]->type == GGML_TYPE_BF16) return false; + } + if (a_type == GGML_TYPE_IQ4_NL || a_type == GGML_TYPE_IQ4_XS || a_type == GGML_TYPE_IQ3_XXS || a_type == GGML_TYPE_IQ3_S || a_type == GGML_TYPE_IQ2_XXS || a_type == GGML_TYPE_IQ2_XS || a_type == GGML_TYPE_IQ2_S || diff --git a/ggml/src/ggml-sycl/convert.cpp b/ggml/src/ggml-sycl/convert.cpp index a15271b516fa8..5b15f29e52477 100644 --- a/ggml/src/ggml-sycl/convert.cpp +++ b/ggml/src/ggml-sycl/convert.cpp @@ -542,6 +542,8 @@ to_fp32_sycl_t ggml_get_to_fp32_sycl(ggml_type type) { case GGML_TYPE_F16: return convert_unary_sycl; default: - return nullptr; + std::cerr << "not support data type:" << type << " in "<< __func__ + << ", "<<__FILE__<< " line:" << __LINE__ << std::endl; + std::exit(1); } }