@@ -706,7 +706,7 @@ static void ggml_backend_cpu_buffer_clear(ggml_backend_buffer_t buffer, uint8_t
706706 memset (buffer->context , value, buffer->size );
707707}
708708
709- static struct ggml_backend_buffer_i cpu_backend_buffer_i = {
709+ static const struct ggml_backend_buffer_i ggml_backend_cpu_buffer_i = {
710710 /* .get_name = */ ggml_backend_cpu_buffer_get_name,
711711 /* .free_buffer = */ ggml_backend_cpu_buffer_free_buffer,
712712 /* .get_base = */ ggml_backend_cpu_buffer_get_base,
@@ -719,8 +719,7 @@ static struct ggml_backend_buffer_i cpu_backend_buffer_i = {
719719 /* .reset = */ NULL ,
720720};
721721
722- // for buffers from ptr, free is not called
723- static struct ggml_backend_buffer_i cpu_backend_buffer_i_from_ptr = {
722+ static const struct ggml_backend_buffer_i ggml_backend_cpu_buffer_from_ptr_i = {
724723 /* .get_name = */ ggml_backend_cpu_buffer_get_name,
725724 /* .free_buffer = */ NULL , // ptr is not owned by the buffer, so it does not need to be freed
726725 /* .get_base = */ ggml_backend_cpu_buffer_get_base,
@@ -747,7 +746,7 @@ static ggml_backend_buffer_t ggml_backend_cpu_buffer_type_alloc_buffer(ggml_back
747746 return NULL ;
748747 }
749748
750- return ggml_backend_buffer_init (buft, cpu_backend_buffer_i , data, size);
749+ return ggml_backend_buffer_init (buft, ggml_backend_cpu_buffer_i , data, size);
751750}
752751
753752static size_t ggml_backend_cpu_buffer_type_get_alignment (ggml_backend_buffer_type_t buft) {
@@ -931,7 +930,7 @@ static enum ggml_status ggml_backend_cpu_graph_compute(ggml_backend_t backend, s
931930 return ggml_graph_compute (cgraph, &cplan);
932931}
933932
934- static struct ggml_backend_i cpu_backend_i = {
933+ static const struct ggml_backend_i ggml_backend_cpu_i = {
935934 /* .get_name = */ ggml_backend_cpu_get_name,
936935 /* .free = */ ggml_backend_cpu_free,
937936 /* .get_default_buffer_type = */ ggml_backend_cpu_get_default_buffer_type,
@@ -971,7 +970,7 @@ ggml_backend_t ggml_backend_cpu_init(void) {
971970
972971 ggml_backend_t cpu_backend = new ggml_backend {
973972 /* .guid = */ ggml_backend_cpu_guid (),
974- /* .interface = */ cpu_backend_i ,
973+ /* .interface = */ ggml_backend_cpu_i ,
975974 /* .device = */ ggml_backend_reg_dev_get (ggml_backend_cpu_reg (), 0 ),
976975 /* .context = */ ctx,
977976 };
@@ -1017,7 +1016,7 @@ void ggml_backend_cpu_set_abort_callback(ggml_backend_t backend_cpu, ggml_abort_
10171016
10181017ggml_backend_buffer_t ggml_backend_cpu_buffer_from_ptr (void * ptr, size_t size) {
10191018 GGML_ASSERT ((uintptr_t )ptr % TENSOR_ALIGNMENT == 0 && " buffer pointer must be aligned" );
1020- return ggml_backend_buffer_init (ggml_backend_cpu_buffer_type (), cpu_backend_buffer_i_from_ptr , ptr, size);
1019+ return ggml_backend_buffer_init (ggml_backend_cpu_buffer_type (), ggml_backend_cpu_buffer_from_ptr_i , ptr, size);
10211020}
10221021
10231022// //////////////////////
@@ -1110,7 +1109,7 @@ static bool ggml_backend_cpu_device_supports_buft(ggml_backend_dev_t dev, ggml_b
11101109 GGML_UNUSED (dev);
11111110}
11121111
1113- static struct ggml_backend_device_i ggml_backend_cpu_device_i = {
1112+ static const struct ggml_backend_device_i ggml_backend_cpu_device_i = {
11141113 /* .get_name = */ ggml_backend_cpu_device_get_name,
11151114 /* .get_description = */ ggml_backend_cpu_device_get_description,
11161115 /* .get_memory = */ ggml_backend_cpu_device_get_memory,
@@ -1157,7 +1156,7 @@ static ggml_backend_dev_t ggml_backend_cpu_reg_get_device(ggml_backend_reg_t reg
11571156 GGML_UNUSED (index);
11581157}
11591158
1160- static struct ggml_backend_reg_i ggml_backend_cpu_reg_i = {
1159+ static const struct ggml_backend_reg_i ggml_backend_cpu_reg_i = {
11611160 /* .get_name = */ ggml_backend_cpu_reg_get_name,
11621161 /* .get_device_count = */ ggml_backend_cpu_reg_get_device_count,
11631162 /* .get_device = */ ggml_backend_cpu_reg_get_device,
@@ -1204,22 +1203,18 @@ static void ggml_backend_multi_buffer_clear(ggml_backend_buffer_t buffer, uint8_
12041203 }
12051204}
12061205
1207- static struct ggml_backend_buffer_i ggml_backend_multi_buffer_context_interface (void ) {
1208- static struct ggml_backend_buffer_i multi_backend_buffer_i = {
1209- /* .get_name = */ ggml_backend_multi_buffer_get_name,
1210- /* .free_buffer = */ ggml_backend_multi_buffer_free_buffer,
1211- /* .get_base = */ NULL ,
1212- /* .init_tensor = */ NULL ,
1213- /* .memset_tensor = */ NULL ,
1214- /* .set_tensor = */ NULL ,
1215- /* .get_tensor = */ NULL ,
1216- /* .cpy_tensor = */ NULL ,
1217- /* .clear = */ ggml_backend_multi_buffer_clear,
1218- /* .reset = */ NULL ,
1219- };
1220-
1221- return multi_backend_buffer_i;
1222- }
1206+ static const struct ggml_backend_buffer_i ggml_backend_multi_buffer_i = {
1207+ /* .get_name = */ ggml_backend_multi_buffer_get_name,
1208+ /* .free_buffer = */ ggml_backend_multi_buffer_free_buffer,
1209+ /* .get_base = */ NULL ,
1210+ /* .init_tensor = */ NULL ,
1211+ /* .memset_tensor = */ NULL ,
1212+ /* .set_tensor = */ NULL ,
1213+ /* .get_tensor = */ NULL ,
1214+ /* .cpy_tensor = */ NULL ,
1215+ /* .clear = */ ggml_backend_multi_buffer_clear,
1216+ /* .reset = */ NULL ,
1217+ };
12231218
12241219ggml_backend_buffer_t ggml_backend_multi_buffer_alloc_buffer (ggml_backend_buffer_t * buffers, size_t n_buffers) {
12251220 ggml_backend_multi_buffer_context * ctx = (ggml_backend_multi_buffer_context *) malloc (sizeof (struct ggml_backend_multi_buffer_context ));
@@ -1234,7 +1229,7 @@ ggml_backend_buffer_t ggml_backend_multi_buffer_alloc_buffer(ggml_backend_buffer
12341229 total_size += ggml_backend_buffer_get_size (buffers[i]);
12351230 }
12361231
1237- return ggml_backend_buffer_init (buffers[0 ]->buft , ggml_backend_multi_buffer_context_interface () , ctx, total_size);
1232+ return ggml_backend_buffer_init (buffers[0 ]->buft , ggml_backend_multi_buffer_i , ctx, total_size);
12381233}
12391234
12401235bool ggml_backend_buffer_is_multi_buffer (ggml_backend_buffer_t buffer) {
0 commit comments