Spaces:
Running
Running
metal : fix group_norm support condition (llama/0)
Browse files
ggml/src/ggml-metal/ggml-metal.m
CHANGED
|
@@ -1004,9 +1004,10 @@ static bool ggml_metal_supports_op(const struct ggml_backend_metal_device_contex
|
|
| 1004 |
return ggml_is_contiguous(op->src[0]);
|
| 1005 |
case GGML_OP_SUM_ROWS:
|
| 1006 |
case GGML_OP_SOFT_MAX:
|
| 1007 |
-
case GGML_OP_RMS_NORM:
|
| 1008 |
case GGML_OP_GROUP_NORM:
|
| 1009 |
return has_simdgroup_reduction;
|
|
|
|
|
|
|
| 1010 |
case GGML_OP_ARGMAX:
|
| 1011 |
case GGML_OP_NORM:
|
| 1012 |
case GGML_OP_ROPE:
|
|
|
|
| 1004 |
return ggml_is_contiguous(op->src[0]);
|
| 1005 |
case GGML_OP_SUM_ROWS:
|
| 1006 |
case GGML_OP_SOFT_MAX:
|
|
|
|
| 1007 |
case GGML_OP_GROUP_NORM:
|
| 1008 |
return has_simdgroup_reduction;
|
| 1009 |
+
case GGML_OP_RMS_NORM:
|
| 1010 |
+
return has_simdgroup_reduction && (op->ne[0] % 4 == 0);
|
| 1011 |
case GGML_OP_ARGMAX:
|
| 1012 |
case GGML_OP_NORM:
|
| 1013 |
case GGML_OP_ROPE:
|