ggerganov commited on
Commit
3f5165f
·
unverified ·
1 Parent(s): c0cfa9b

ggml-backend : sync remnant

Browse files
Files changed (2) hide show
  1. ggml-backend.c +4 -1
  2. ggml-metal.h +0 -1
ggml-backend.c CHANGED
@@ -475,7 +475,7 @@ ggml_backend_buffer_t ggml_backend_reg_alloc_buffer(size_t i, size_t size) {
475
 
476
  // backend CPU
477
 
478
- static const size_t TENSOR_ALIGNMENT = 64; // should be enough for AVX 512
479
 
480
  GGML_CALL static const char * ggml_backend_cpu_buffer_name(ggml_backend_buffer_t buffer) {
481
  return "CPU";
@@ -818,6 +818,7 @@ void ggml_backend_cpu_set_abort_callback(ggml_backend_t backend_cpu, ggml_abort_
818
  }
819
 
820
  GGML_CALL ggml_backend_buffer_t ggml_backend_cpu_buffer_from_ptr(void * ptr, size_t size) {
 
821
  return ggml_backend_buffer_init(ggml_backend_cpu_buffer_type(), cpu_backend_buffer_i_from_ptr, ptr, size);
822
  }
823
 
@@ -1411,6 +1412,8 @@ static bool ggml_backend_sched_alloc_splits(ggml_backend_sched_t sched) {
1411
  return false;
1412
  }
1413
  }
 
 
1414
  }
1415
 
1416
  static bool ggml_backend_sched_compute_splits(ggml_backend_sched_t sched) {
 
475
 
476
  // backend CPU
477
 
478
+ static const size_t TENSOR_ALIGNMENT = 32; // required for mmap as gguf only guarantees 32-byte alignment
479
 
480
  GGML_CALL static const char * ggml_backend_cpu_buffer_name(ggml_backend_buffer_t buffer) {
481
  return "CPU";
 
818
  }
819
 
820
  GGML_CALL ggml_backend_buffer_t ggml_backend_cpu_buffer_from_ptr(void * ptr, size_t size) {
821
+ GGML_ASSERT((uintptr_t)ptr % TENSOR_ALIGNMENT == 0 && "buffer pointer must be aligned");
822
  return ggml_backend_buffer_init(ggml_backend_cpu_buffer_type(), cpu_backend_buffer_i_from_ptr, ptr, size);
823
  }
824
 
 
1412
  return false;
1413
  }
1414
  }
1415
+
1416
+ return true;
1417
  }
1418
 
1419
  static bool ggml_backend_sched_compute_splits(ggml_backend_sched_t sched) {
ggml-metal.h CHANGED
@@ -27,7 +27,6 @@
27
 
28
  // max memory buffers that can be mapped to the device
29
  #define GGML_METAL_MAX_BUFFERS 64
30
- #define GGML_METAL_MAX_COMMAND_BUFFERS 32
31
 
32
  struct ggml_tensor;
33
  struct ggml_cgraph;
 
27
 
28
  // max memory buffers that can be mapped to the device
29
  #define GGML_METAL_MAX_BUFFERS 64
 
30
 
31
  struct ggml_tensor;
32
  struct ggml_cgraph;