From b6fc9f03ab532e948458a93db841e6b87727bd9d Mon Sep 17 00:00:00 2001 From: Francis Couture-Harpin Date: Sat, 11 Jan 2025 19:50:08 -0500 Subject: [PATCH] ggml-metal : supports_op returns false for ternary types Maybe not the cleanest way, but hopefully temporary. --- ggml/src/ggml-metal/ggml-metal.m | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ggml/src/ggml-metal/ggml-metal.m b/ggml/src/ggml-metal/ggml-metal.m index a85502ee0..4ec73f163 100644 --- a/ggml/src/ggml-metal/ggml-metal.m +++ b/ggml/src/ggml-metal/ggml-metal.m @@ -1081,6 +1081,18 @@ static bool ggml_metal_supports_op(const struct ggml_backend_metal_device_contex } } } + // TODO: remove once proper support is added. + for (size_t i = 0, n = 3; i < n; ++i) { + if (op->src[i] != NULL) { + switch (op->src[i]->type) { + case GGML_TYPE_TQ1_0: + case GGML_TYPE_TQ2_0: + return false; + default: + break; + } + } + } switch (op->op) { case GGML_OP_UNARY: