]> git.djapps.eu Git - pkg/ggml/sources/ggml/commitdiff
metal : remove contiguous assertion for src0 in IM2COL (llama/15577)
authorSigbjørn Skjæret <redacted>
Tue, 26 Aug 2025 06:51:43 +0000 (08:51 +0200)
committerGeorgi Gerganov <redacted>
Fri, 5 Sep 2025 09:54:04 +0000 (12:54 +0300)
* remove contiguous assertion for src0 in IM2COL

* add contiguous check in supports_op

src/ggml-metal/ggml-metal.m

index de52b3a4f48abe5de13ebaff2d7c7290fcef6f2a..dcd816a430f60c342ae4af510f35a25d94363498 100644 (file)
@@ -1876,7 +1876,7 @@ static bool ggml_metal_supports_op(const struct ggml_backend_metal_device_contex
         case GGML_OP_ROPE:
             return true;
         case GGML_OP_IM2COL:
-            return op->src[1]->type == GGML_TYPE_F32 && (op->type == GGML_TYPE_F16 || op->type == GGML_TYPE_F32);
+            return ggml_is_contiguous(op->src[1]) && op->src[1]->type == GGML_TYPE_F32 && (op->type == GGML_TYPE_F16 || op->type == GGML_TYPE_F32);
         case GGML_OP_POOL_1D:
             return false;
         case GGML_OP_UPSCALE:
@@ -4731,7 +4731,6 @@ static int ggml_metal_encode_node(
             } break;
         case GGML_OP_IM2COL:
             {
-                GGML_ASSERT(ggml_is_contiguous(src0));
                 GGML_ASSERT(ggml_is_contiguous(src1));
                 GGML_ASSERT(src1->type == GGML_TYPE_F32);
                 GGML_ASSERT( dst->type == GGML_TYPE_F16 || dst->type == GGML_TYPE_F32);