Browse Source

fix metal

jmorganca 10 months ago
parent
commit
dded27dcfa
4 changed files with 21 additions and 6 deletions
  1. 2 2
      llama/ggml-metal-darwin_arm64.m
  2. 2 2
      llama/llama.go
  3. 2 2
      llama/metal.c
  4. 15 0
      llama/patches/04-ggml-metal.diff

+ 2 - 2
llama/ggml-metal-darwin_arm64.m

@@ -377,8 +377,8 @@ static struct ggml_metal_context * ggml_metal_init(int n_cb) {
 #if GGML_METAL_EMBED_LIBRARY
             GGML_METAL_LOG_INFO("%s: using embedded metal library\n", __func__);
 
-            extern const char ggml_metallib_start[];
-            extern const char ggml_metallib_end[];
+            extern const char *ggml_metallib_start;
+            extern const char *ggml_metallib_end;
 
             NSString * src = [[NSString alloc] initWithBytes:ggml_metallib_start length:(ggml_metallib_end-ggml_metallib_start) encoding:NSUTF8StringEncoding];
 #else

+ 2 - 2
llama/llama.go

@@ -37,8 +37,8 @@ package llama
 #include "sampling_ext.h"
 
 bool llamaProgressCallback(float progress, void *user_data);
-extern const char* ggml_metallib_start;
-extern const char* ggml_metallib_end;
+extern const char *ggml_metallib_start;
+extern const char *ggml_metallib_end;
 */
 import "C"
 import (

+ 2 - 2
llama/metal.c

@@ -1,2 +1,2 @@
-const char* ggml_metallib_start = 0;
-const char* ggml_metallib_end = 0;
+const char *ggml_metallib_start;
+const char *ggml_metallib_end;

+ 15 - 0
llama/patches/04-ggml-metal.diff

@@ -0,0 +1,15 @@
+diff --git a/llama/ggml-metal-darwin_arm64.m b/llama/ggml-metal-darwin_arm64.m
+index b56c3604..400d43f4 100644
+--- a/llama/ggml-metal-darwin_arm64.m
++++ b/llama/ggml-metal-darwin_arm64.m
+@@ -377,8 +377,8 @@ static void ggml_metal_log(enum ggml_log_level level, const char * format, ...){
+ #if GGML_METAL_EMBED_LIBRARY
+             GGML_METAL_LOG_INFO("%s: using embedded metal library\n", __func__);
+ 
+-            extern const char ggml_metallib_start[];
+-            extern const char ggml_metallib_end[];
++            extern const char *ggml_metallib_start;
++            extern const char *ggml_metallib_end;
+ 
+             NSString * src = [[NSString alloc] initWithBytes:ggml_metallib_start length:(ggml_metallib_end-ggml_metallib_start) encoding:NSUTF8StringEncoding];
+ #else