ggerganov commited on
Commit
14cf8db
·
1 Parent(s): b822172

metal : fix struct name (ggml/912)

Browse files
Files changed (1) hide show
  1. ggml/src/ggml-metal.m +15 -15
ggml/src/ggml-metal.m CHANGED
@@ -210,7 +210,7 @@ enum ggml_metal_kernel_type {
210
  GGML_METAL_KERNEL_TYPE_COUNT
211
  };
212
 
213
- struct ggml_metal_context {
214
  int n_cb;
215
 
216
  id<MTLDevice> device;
@@ -293,7 +293,7 @@ static void * ggml_metal_host_malloc(size_t n) {
293
  return data;
294
  }
295
 
296
- static struct ggml_metal_context * ggml_metal_init(int n_cb) {
297
  GGML_METAL_LOG_INFO("%s: allocating\n", __func__);
298
 
299
  #if TARGET_OS_OSX && !GGML_METAL_NDEBUG
@@ -310,7 +310,7 @@ static struct ggml_metal_context * ggml_metal_init(int n_cb) {
310
  GGML_METAL_LOG_INFO("%s: picking default device: %s\n", __func__, [[device name] UTF8String]);
311
 
312
  // Configure context
313
- struct ggml_metal_context * ctx = malloc(sizeof(struct ggml_metal_context));
314
  ctx->device = device;
315
  ctx->n_cb = MIN(n_cb, GGML_METAL_MAX_BUFFERS);
316
  ctx->queue = [ctx->device newCommandQueue];
@@ -672,7 +672,7 @@ static struct ggml_metal_context * ggml_metal_init(int n_cb) {
672
  return ctx;
673
  }
674
 
675
- static void ggml_metal_free(struct ggml_metal_context * ctx) {
676
  GGML_METAL_LOG_INFO("%s: deallocating\n", __func__);
677
 
678
  for (int i = 0; i < GGML_METAL_KERNEL_TYPE_COUNT; ++i) {
@@ -738,7 +738,7 @@ static id<MTLBuffer> ggml_metal_get_buffer(struct ggml_tensor * t, size_t * offs
738
  return nil;
739
  }
740
 
741
- static bool ggml_metal_supports_op(const struct ggml_metal_context * ctx, const struct ggml_tensor * op) {
742
  for (size_t i = 0, n = 3; i < n; ++i) {
743
  if (op->src[i] != NULL && op->src[i]->type == GGML_TYPE_BF16) {
744
  return false;
@@ -849,7 +849,7 @@ static bool ggml_metal_supports_op(const struct ggml_metal_context * ctx, const
849
  }
850
 
851
  static enum ggml_status ggml_metal_graph_compute(
852
- struct ggml_metal_context * ctx,
853
  struct ggml_cgraph * gf) {
854
 
855
  @autoreleasepool {
@@ -3178,7 +3178,7 @@ GGML_CALL static const char * ggml_backend_metal_name(ggml_backend_t backend) {
3178
  }
3179
 
3180
  GGML_CALL static void ggml_backend_metal_free(ggml_backend_t backend) {
3181
- struct ggml_metal_context * ctx = (struct ggml_metal_context *)backend->context;
3182
  ggml_metal_free(ctx);
3183
  free(backend);
3184
  }
@@ -3190,13 +3190,13 @@ GGML_CALL static ggml_backend_buffer_type_t ggml_backend_metal_get_default_buffe
3190
  }
3191
 
3192
  GGML_CALL static enum ggml_status ggml_backend_metal_graph_compute(ggml_backend_t backend, struct ggml_cgraph * cgraph) {
3193
- struct ggml_metal_context * metal_ctx = (struct ggml_metal_context *)backend->context;
3194
 
3195
  return ggml_metal_graph_compute(metal_ctx, cgraph);
3196
  }
3197
 
3198
  GGML_CALL static bool ggml_backend_metal_supports_op(ggml_backend_t backend, const struct ggml_tensor * op) {
3199
- struct ggml_metal_context * metal_ctx = (struct ggml_metal_context *)backend->context;
3200
 
3201
  return ggml_metal_supports_op(metal_ctx, op);
3202
  }
@@ -3241,9 +3241,9 @@ static ggml_guid_t ggml_backend_metal_guid(void) {
3241
  }
3242
 
3243
  ggml_backend_t ggml_backend_metal_init(void) {
3244
- struct ggml_metal_context * ctx = ggml_metal_init(GGML_DEFAULT_N_THREADS);
3245
-
3246
  if (ctx == NULL) {
 
3247
  return NULL;
3248
  }
3249
 
@@ -3265,7 +3265,7 @@ bool ggml_backend_is_metal(ggml_backend_t backend) {
3265
  void ggml_backend_metal_set_n_cb(ggml_backend_t backend, int n_cb) {
3266
  GGML_ASSERT(ggml_backend_is_metal(backend));
3267
 
3268
- struct ggml_metal_context * ctx = (struct ggml_metal_context *)backend->context;
3269
 
3270
  ctx->n_cb = MIN(n_cb, GGML_METAL_MAX_BUFFERS);
3271
  }
@@ -3273,7 +3273,7 @@ void ggml_backend_metal_set_n_cb(ggml_backend_t backend, int n_cb) {
3273
  void ggml_backend_metal_set_abort_callback(ggml_backend_t backend, ggml_abort_callback abort_callback, void * user_data) {
3274
  GGML_ASSERT(ggml_backend_is_metal(backend));
3275
 
3276
- struct ggml_metal_context * ctx = (struct ggml_metal_context *)backend->context;
3277
 
3278
  ctx->abort_callback = abort_callback;
3279
  ctx->abort_callback_data = user_data;
@@ -3282,7 +3282,7 @@ void ggml_backend_metal_set_abort_callback(ggml_backend_t backend, ggml_abort_ca
3282
  bool ggml_backend_metal_supports_family(ggml_backend_t backend, int family) {
3283
  GGML_ASSERT(ggml_backend_is_metal(backend));
3284
 
3285
- struct ggml_metal_context * ctx = (struct ggml_metal_context *)backend->context;
3286
 
3287
  return [ctx->device supportsFamily:(MTLGPUFamilyApple1 + family - 1)];
3288
  }
@@ -3290,7 +3290,7 @@ bool ggml_backend_metal_supports_family(ggml_backend_t backend, int family) {
3290
  void ggml_backend_metal_capture_next_compute(ggml_backend_t backend) {
3291
  GGML_ASSERT(ggml_backend_is_metal(backend));
3292
 
3293
- struct ggml_metal_context * ctx = (struct ggml_metal_context *)backend->context;
3294
  ctx->should_capture_next_compute = true;
3295
  }
3296
 
 
210
  GGML_METAL_KERNEL_TYPE_COUNT
211
  };
212
 
213
+ struct ggml_backend_metal_context {
214
  int n_cb;
215
 
216
  id<MTLDevice> device;
 
293
  return data;
294
  }
295
 
296
+ static struct ggml_backend_metal_context * ggml_metal_init(int n_cb) {
297
  GGML_METAL_LOG_INFO("%s: allocating\n", __func__);
298
 
299
  #if TARGET_OS_OSX && !GGML_METAL_NDEBUG
 
310
  GGML_METAL_LOG_INFO("%s: picking default device: %s\n", __func__, [[device name] UTF8String]);
311
 
312
  // Configure context
313
+ struct ggml_backend_metal_context * ctx = malloc(sizeof(struct ggml_backend_metal_context));
314
  ctx->device = device;
315
  ctx->n_cb = MIN(n_cb, GGML_METAL_MAX_BUFFERS);
316
  ctx->queue = [ctx->device newCommandQueue];
 
672
  return ctx;
673
  }
674
 
675
+ static void ggml_metal_free(struct ggml_backend_metal_context * ctx) {
676
  GGML_METAL_LOG_INFO("%s: deallocating\n", __func__);
677
 
678
  for (int i = 0; i < GGML_METAL_KERNEL_TYPE_COUNT; ++i) {
 
738
  return nil;
739
  }
740
 
741
+ static bool ggml_metal_supports_op(const struct ggml_backend_metal_context * ctx, const struct ggml_tensor * op) {
742
  for (size_t i = 0, n = 3; i < n; ++i) {
743
  if (op->src[i] != NULL && op->src[i]->type == GGML_TYPE_BF16) {
744
  return false;
 
849
  }
850
 
851
  static enum ggml_status ggml_metal_graph_compute(
852
+ struct ggml_backend_metal_context * ctx,
853
  struct ggml_cgraph * gf) {
854
 
855
  @autoreleasepool {
 
3178
  }
3179
 
3180
  GGML_CALL static void ggml_backend_metal_free(ggml_backend_t backend) {
3181
+ struct ggml_backend_metal_context * ctx = (struct ggml_backend_metal_context *)backend->context;
3182
  ggml_metal_free(ctx);
3183
  free(backend);
3184
  }
 
3190
  }
3191
 
3192
  GGML_CALL static enum ggml_status ggml_backend_metal_graph_compute(ggml_backend_t backend, struct ggml_cgraph * cgraph) {
3193
+ struct ggml_backend_metal_context * metal_ctx = (struct ggml_backend_metal_context *)backend->context;
3194
 
3195
  return ggml_metal_graph_compute(metal_ctx, cgraph);
3196
  }
3197
 
3198
  GGML_CALL static bool ggml_backend_metal_supports_op(ggml_backend_t backend, const struct ggml_tensor * op) {
3199
+ struct ggml_backend_metal_context * metal_ctx = (struct ggml_backend_metal_context *)backend->context;
3200
 
3201
  return ggml_metal_supports_op(metal_ctx, op);
3202
  }
 
3241
  }
3242
 
3243
  ggml_backend_t ggml_backend_metal_init(void) {
3244
+ struct ggml_backend_metal_context * ctx = ggml_metal_init(GGML_DEFAULT_N_THREADS);
 
3245
  if (ctx == NULL) {
3246
+ GGML_METAL_LOG_ERROR("%s: error: failed to allocate context\n", __func__);
3247
  return NULL;
3248
  }
3249
 
 
3265
  void ggml_backend_metal_set_n_cb(ggml_backend_t backend, int n_cb) {
3266
  GGML_ASSERT(ggml_backend_is_metal(backend));
3267
 
3268
+ struct ggml_backend_metal_context * ctx = (struct ggml_backend_metal_context *)backend->context;
3269
 
3270
  ctx->n_cb = MIN(n_cb, GGML_METAL_MAX_BUFFERS);
3271
  }
 
3273
  void ggml_backend_metal_set_abort_callback(ggml_backend_t backend, ggml_abort_callback abort_callback, void * user_data) {
3274
  GGML_ASSERT(ggml_backend_is_metal(backend));
3275
 
3276
+ struct ggml_backend_metal_context * ctx = (struct ggml_backend_metal_context *)backend->context;
3277
 
3278
  ctx->abort_callback = abort_callback;
3279
  ctx->abort_callback_data = user_data;
 
3282
  bool ggml_backend_metal_supports_family(ggml_backend_t backend, int family) {
3283
  GGML_ASSERT(ggml_backend_is_metal(backend));
3284
 
3285
+ struct ggml_backend_metal_context * ctx = (struct ggml_backend_metal_context *)backend->context;
3286
 
3287
  return [ctx->device supportsFamily:(MTLGPUFamilyApple1 + family - 1)];
3288
  }
 
3290
  void ggml_backend_metal_capture_next_compute(ggml_backend_t backend) {
3291
  GGML_ASSERT(ggml_backend_is_metal(backend));
3292
 
3293
+ struct ggml_backend_metal_context * ctx = (struct ggml_backend_metal_context *)backend->context;
3294
  ctx->should_capture_next_compute = true;
3295
  }
3296