]> git.djapps.eu Git - pkg/ggml/sources/ggml/commitdiff
metal : update support condition for im2col + fix warning (llama/0)
authorGeorgi Gerganov <redacted>
Sun, 8 Sep 2024 06:57:57 +0000 (09:57 +0300)
committerGeorgi Gerganov <redacted>
Sun, 8 Sep 2024 11:43:07 +0000 (14:43 +0300)
src/ggml-metal.m
tests/test-backend-ops.cpp

index 91b5e61b23eadfed8d349a5cd0114c39f07f5285..f04e5af71f9ebdc57dd39fe39d9bb4834d00c664 100644 (file)
@@ -799,8 +799,9 @@ static bool ggml_metal_supports_op(const struct ggml_backend_metal_context * ctx
             return ctx->support_simdgroup_reduction;
         case GGML_OP_NORM:
         case GGML_OP_ROPE:
-        case GGML_OP_IM2COL:
             return true;
+        case GGML_OP_IM2COL:
+            return op->src[0]->type == GGML_TYPE_F16;
         case GGML_OP_POOL_1D:
         case GGML_OP_POOL_2D:
             return false;
index 8f659c14861b7982231e206f5ca16eacf6535162..635de01d70439c60d1c7a91b7f0ef89f2a236740 100644 (file)
@@ -24,6 +24,7 @@
 #include <cfloat>
 #include <cstdint>
 #include <cstring>
+#include <cinttypes>
 #include <functional>
 #include <memory>
 #include <random>
@@ -33,7 +34,6 @@
 #include <thread>
 #include <vector>
 
-
 static void init_tensor_uniform(ggml_tensor * tensor, float min = -1.0f, float max = 1.0f) {
     // static RNG initialization (revisit if n_threads stops being constant)
     static const size_t n_threads = std::thread::hardware_concurrency();
@@ -869,7 +869,7 @@ struct test_case {
             for (int64_t i = 0; i < ne; ++i) { // gradient algebraic
                 // check for nans
                 if (!std::isfinite(ga[i])) {
-                    printf("[%s] nonfinite gradient at index %zu (%s=%f) ", ggml_op_desc(t), i, bn, ga[i]);
+                    printf("[%s] nonfinite gradient at index %" PRId64 " (%s=%f) ", ggml_op_desc(t), i, bn, ga[i]);
                     ok = false;
                     break;
                 }