From: Georgi Gerganov Date: Wed, 5 Feb 2025 08:57:42 +0000 (+0200) Subject: metal : adjust support conditions for norm operators (#11671) X-Git-Tag: upstream/0.0.4719~75 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=d774ab3acc4fee41fbed6dbfc192b57d5f79f34b;p=pkg%2Fggml%2Fsources%2Fllama.cpp metal : adjust support conditions for norm operators (#11671) cont #11659 ggml-ci --- diff --git a/ggml/src/ggml-metal/ggml-metal.m b/ggml/src/ggml-metal/ggml-metal.m index 0a264be3..c63dbad2 100644 --- a/ggml/src/ggml-metal/ggml-metal.m +++ b/ggml/src/ggml-metal/ggml-metal.m @@ -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];