@@ -119,43 +119,6 @@ GGML_BACKEND_API ggml_backend_buffer_type_t ggml_backend_openvino_buffer_type(in
119119 GGML_UNUSED (device);
120120}
121121
122- // split tensor buffer that splits matrices by rows across multiple devices
123- GGML_BACKEND_API ggml_backend_buffer_type_t ggml_backend_openvino_split_buffer_type (const float * tensor_split) {
124- GGML_ASSERT (tensor_split != nullptr );
125- return nullptr ;
126- }
127-
128- // pinned host buffer for use with the CPU backend for faster copies between CPU
129- // and GPU
130- GGML_BACKEND_API ggml_backend_buffer_type_t ggml_backend_openvino_host_buffer_type (void ) {
131- return nullptr ;
132- }
133-
134- struct ggml_backend_openvino_buffer_type_context {
135- int device;
136- std::string name;
137- };
138-
139- static const char * ggml_backend_openvino_buffer_type_get_name (ggml_backend_buffer_type_t buft) {
140- ggml_backend_openvino_buffer_type_context * ctx = (ggml_backend_openvino_buffer_type_context *) buft->context ;
141-
142- return ctx->name .c_str ();
143- }
144-
145- static bool ggml_backend_buft_is_openvino (ggml_backend_buffer_type_t buft) {
146- return buft->iface .get_name == ggml_backend_openvino_buffer_type_get_name;
147- }
148-
149- static const char * ggml_backend_openvino_split_buffer_type_get_name (ggml_backend_buffer_type_t buft) {
150- return GGML_OPENVINO_NAME " _Split" ;
151-
152- GGML_UNUSED (buft);
153- }
154-
155- static bool ggml_backend_buft_is_openvino_split (ggml_backend_buffer_type_t buft) {
156- return buft->iface .get_name == ggml_backend_openvino_split_buffer_type_get_name;
157- }
158-
159122struct ggml_backend_openvino_device_context {
160123 int device;
161124 std::string name;
@@ -172,14 +135,10 @@ static const char * ggml_backend_openvino_device_get_description(ggml_backend_de
172135 return ctx->description .c_str ();
173136}
174137
175- // TODO
176138static void ggml_backend_openvino_device_get_memory (ggml_backend_dev_t dev, size_t * free, size_t * total) {
177139 GGML_ASSERT (dev->context != nullptr );
178140 GGML_ASSERT (free != nullptr );
179141 GGML_ASSERT (total != nullptr );
180- ggml_backend_openvino_device_context * ctx = (ggml_backend_openvino_device_context *) dev->context ;
181- GGML_ASSERT (ctx->device >= 0 );
182- // ggml_openvino_set_device(ctx->device);
183142 *total = 1 ;
184143 *free = 1 ;
185144}
@@ -195,18 +154,11 @@ static void ggml_backend_openvino_device_get_props(ggml_backend_dev_t dev, ggml_
195154 props->type = ggml_backend_openvino_device_get_type (dev);
196155 ggml_backend_openvino_device_get_memory (dev, &props->memory_free , &props->memory_total );
197156
198- bool host_buffer = getenv (" GGML_OPENVINO_NO_PINNED" ) == nullptr ;
199- #ifdef GGML_OPENVINO_NO_PEER_COPY
200- bool events = false ;
201- #else
202- bool events = true ;
203- #endif
204-
205157 props->caps = {
206- /* .async = */ true ,
207- /* .host_buffer = */ host_buffer ,
158+ /* .async = */ false ,
159+ /* .host_buffer = */ false ,
208160 /* .buffer_from_host_ptr = */ false ,
209- /* .events = */ events ,
161+ /* .events = */ false ,
210162 };
211163}
212164
@@ -221,33 +173,6 @@ static ggml_backend_buffer_type_t ggml_backend_openvino_device_get_buffer_type(g
221173 return ggml_backend_openvino_buffer_type (ctx->device );
222174}
223175
224- static ggml_backend_buffer_type_t ggml_backend_openvino_device_get_host_buffer_type (ggml_backend_dev_t dev) {
225- GGML_UNUSED (dev);
226- return ggml_backend_openvino_host_buffer_type ();
227- }
228-
229- static ggml_backend_buffer_t ggml_backend_openvino_device_buffer_from_ptr (ggml_backend_dev_t dev,
230- void * ptr,
231- size_t size,
232- size_t max_tensor_size) {
233- GGML_UNUSED (dev);
234- GGML_UNUSED (ptr);
235- GGML_UNUSED (size);
236- GGML_UNUSED (max_tensor_size);
237- return nullptr ;
238- }
239-
240- static ggml_backend_buffer_t ggml_backend_openvino_device_buffer_from_host_ptr (ggml_backend_dev_t dev,
241- void * ptr,
242- size_t size,
243- size_t max_tensor_size) {
244- GGML_UNUSED (dev);
245- GGML_UNUSED (ptr);
246- GGML_UNUSED (size);
247- GGML_UNUSED (max_tensor_size);
248- return nullptr ;
249- }
250-
251176static bool is_op_unsupported_case (const ggml_tensor * op) {
252177 switch (op->op ) {
253178 case GGML_OP_SOFT_MAX: {
@@ -447,7 +372,7 @@ static const struct ggml_backend_device_i ggml_backend_openvino_device_interface
447372 /* .init_backend = */ ggml_backend_openvino_device_init,
448373 /* .get_buffer_type = */ ggml_backend_openvino_device_get_buffer_type,
449374 /* .get_host_buffer_type = */ NULL ,
450- /* .buffer_from_host_ptr = */ ggml_backend_openvino_device_buffer_from_ptr ,
375+ /* .buffer_from_host_ptr = */ NULL ,
451376 /* .supports_op = */ ggml_backend_openvino_device_supports_op,
452377 /* .supports_buft = */ ggml_backend_openvino_device_supports_buft,
453378 /* .offload_op = */ NULL ,
@@ -466,44 +391,19 @@ static const char * ggml_backend_openvino_reg_get_name(ggml_backend_reg_t reg) {
466391}
467392
468393static size_t ggml_backend_openvino_reg_get_device_count (ggml_backend_reg_t reg) {
469- return ggml_openvino_info ().device_count ;
470394 GGML_UNUSED (reg);
471-
472- // TODO
473- ggml_backend_openvino_reg_context * ctx = (ggml_backend_openvino_reg_context *) reg->context ;
474-
475- return ctx->devices .size ();
395+ return ggml_openvino_info ().device_count ;
476396}
477397
478398static ggml_backend_dev_t ggml_backend_openvino_reg_get_device (ggml_backend_reg_t reg, size_t index) {
479399 ggml_backend_openvino_reg_context * ctx = (ggml_backend_openvino_reg_context *) reg->context ;
480400 GGML_ASSERT (index < ctx->devices .size ());
481401 return ctx->devices [index];
482- // GGML_ASSERT(index == 0);
483-
484- // static ggml_backend_device ggml_backend_openvino_device = {
485- // /* .iface = */ ggml_backend_openvino_device_interface,
486- // /* .reg = */ reg,
487- // /* .context = */ nullptr,
488- // };
489-
490- // return &ggml_backend_openvino_device;
491-
492- // GGML_UNUSED(reg);
493- // GGML_UNUSED(index);
494402}
495403
496404static void * ggml_backend_openvino_get_proc_address (ggml_backend_reg_t reg, const char * name) {
497405 GGML_UNUSED (reg);
498- if (strcmp (name, " ggml_backend_split_buffer_type" ) == 0 ) {
499- return (void *) ggml_backend_openvino_split_buffer_type;
500- }
501- // if (strcmp(name, "ggml_backend_register_host_buffer") == 0) {
502- // return (void *)ggml_backend_openvino_register_host_buffer;
503- // }
504- // if (strcmp(name, "ggml_backend_unregister_host_buffer") == 0) {
505- // return (void *)ggml_backend_openvino_unregister_host_buffer;
506- // }
406+ GGML_UNUSED (name);
507407 return nullptr ;
508408}
509409
@@ -515,15 +415,11 @@ static const struct ggml_backend_reg_i ggml_backend_openvino_reg_interface = {
515415};
516416
517417static int get_openvino_device_count () {
518- ov::Core core;
519- auto devices = core.get_available_devices ();
520- // return devices.size();
521418 return 1 ;
522419}
523420
524421static ggml_openvino_device_info ggml_openvino_init () {
525422 ggml_openvino_device_info info = {};
526- // TODO
527423 info.device_count = get_openvino_device_count ();
528424 return info;
529425}
@@ -543,13 +439,11 @@ GGML_BACKEND_API ggml_backend_reg_t ggml_backend_openvino_reg(void) {
543439 if (!initialized) {
544440 ggml_backend_openvino_reg_context * ctx = new ggml_backend_openvino_reg_context;
545441
546- // GGML_LOG_DEBUG("ggml_openvino_info().device_count = %d \n", ggml_openvino_info().device_count);
547442 for (int i = 0 ; i < ggml_openvino_info ().device_count ; i++) {
548443 ggml_backend_openvino_device_context * dev_ctx = new ggml_backend_openvino_device_context;
549444 dev_ctx->device = i;
550445 dev_ctx->name = GGML_OPENVINO_NAME + std::to_string (i);
551446
552- // ggml_openvino_set_device(i);
553447 dev_ctx->description = ov::get_openvino_version ().description ;
554448
555449 ggml_backend_dev_t dev =
0 commit comments