]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
metal : adjust support conditions for norm operators (#11671)
authorGeorgi Gerganov <redacted>
Wed, 5 Feb 2025 08:57:42 +0000 (10:57 +0200)
committerGitHub <redacted>
Wed, 5 Feb 2025 08:57:42 +0000 (10:57 +0200)
cont #11659

ggml-ci

ggml/src/ggml-metal/ggml-metal.m

index 0a264be371e51bae69d495825d1406b4ddedea38..c63dbad201bea87d695bf33ec507726e71e4daa7 100644 (file)
@@ -1204,13 +1204,13 @@ static bool ggml_metal_supports_op(const struct ggml_backend_metal_device_contex
         case GGML_OP_SUM_ROWS:
         case GGML_OP_SOFT_MAX:
         case GGML_OP_GROUP_NORM:
-            return has_simdgroup_reduction;
+            return has_simdgroup_reduction && ggml_is_contiguous(op->src[0]);
         case GGML_OP_RMS_NORM:
             return has_simdgroup_reduction && (op->ne[0] % 4 == 0 && ggml_is_contiguous_1(op->src[0]));
         case GGML_OP_ARGMAX:
             return true;
         case GGML_OP_NORM:
-            return has_simdgroup_reduction && ggml_is_contiguous(op->src[0]);
+            return has_simdgroup_reduction && (op->ne[0] % 4 == 0 && ggml_is_contiguous_1(op->src[0]));
         case GGML_OP_ROPE:
             {
                 const int mode = ((const int32_t *) op->op_params)[2];