@@ -16,6 +16,7 @@ extern "C" {
16
16
typedef void * ggml_backend_buffer_type_context_t ;
17
17
18
18
struct ggml_backend_buffer_type_i {
19
+ const char * (* get_name ) (ggml_backend_buffer_type_t buft );
19
20
ggml_backend_buffer_t (* alloc_buffer ) (ggml_backend_buffer_type_t buft , size_t size );
20
21
size_t (* get_alignment ) (ggml_backend_buffer_type_t buft ); // tensor alignment
21
22
size_t (* get_alloc_size ) (ggml_backend_buffer_type_t buft , struct ggml_tensor * tensor ); // data size needed to allocate the tensor, including padding
@@ -34,16 +35,17 @@ extern "C" {
34
35
typedef void * ggml_backend_buffer_context_t ;
35
36
36
37
struct ggml_backend_buffer_i {
37
- void (* free_buffer ) (ggml_backend_buffer_t buffer );
38
- //void (*reset) (ggml_backend_buffer_t buffer); // reset any internal state due to tensor initialization, such as tensor extras
39
- void * (* get_base ) (ggml_backend_buffer_t buffer );
40
- void (* init_tensor ) (ggml_backend_buffer_t buffer , struct ggml_tensor * tensor );
41
- void (* set_tensor ) (ggml_backend_buffer_t buffer , struct ggml_tensor * tensor , const void * data , size_t offset , size_t size );
42
- void (* get_tensor ) (ggml_backend_buffer_t buffer , const struct ggml_tensor * tensor , void * data , size_t offset , size_t size );
38
+ const char * (* get_name ) (ggml_backend_buffer_t buffer );
39
+ void (* free_buffer ) (ggml_backend_buffer_t buffer );
40
+ //void (*reset) (ggml_backend_buffer_t buffer); // reset any internal state due to tensor initialization, such as tensor extras
41
+ void * (* get_base ) (ggml_backend_buffer_t buffer );
42
+ void (* init_tensor ) (ggml_backend_buffer_t buffer , struct ggml_tensor * tensor );
43
+ void (* set_tensor ) (ggml_backend_buffer_t buffer , struct ggml_tensor * tensor , const void * data , size_t offset , size_t size );
44
+ void (* get_tensor ) (ggml_backend_buffer_t buffer , const struct ggml_tensor * tensor , void * data , size_t offset , size_t size );
43
45
// (optional) copy tensor between different buffer-type, allow for single-copy tranfers
44
- void (* cpy_tensor_from )(ggml_backend_buffer_t buffer , struct ggml_tensor * src , struct ggml_tensor * dst );
45
- void (* cpy_tensor_to ) (ggml_backend_buffer_t buffer , struct ggml_tensor * src , struct ggml_tensor * dst );
46
- void (* clear ) (ggml_backend_buffer_t buffer , uint8_t value );
46
+ void (* cpy_tensor_from )(ggml_backend_buffer_t buffer , struct ggml_tensor * src , struct ggml_tensor * dst );
47
+ void (* cpy_tensor_to ) (ggml_backend_buffer_t buffer , struct ggml_tensor * src , struct ggml_tensor * dst );
48
+ void (* clear ) (ggml_backend_buffer_t buffer , uint8_t value );
47
49
};
48
50
49
51
struct ggml_backend_buffer {
0 commit comments