Explorar el Código

ggml-backend : only offload from host buffers (#11120)

Diego Devesa hace 1 año
padre
commit
a3d50bc022
Se han modificado 1 ficheros con 1 adiciones y 1 borrados
  1. 1 1
      ggml/src/ggml-backend.cpp

+ 1 - 1
ggml/src/ggml-backend.cpp

@@ -761,7 +761,7 @@ static int ggml_backend_sched_backend_id_from_cur(ggml_backend_sched_t sched, st
         }
         }
         // skip ROPE since the rope freqs tensor is too small to choose a backend based on it
         // skip ROPE since the rope freqs tensor is too small to choose a backend based on it
         // not an ideal solution
         // not an ideal solution
-        if (tensor->op != GGML_OP_ROPE && src->buffer != NULL && src->buffer->usage == GGML_BACKEND_BUFFER_USAGE_WEIGHTS) {
+        if (tensor->op != GGML_OP_ROPE && src->buffer != NULL && src->buffer->usage == GGML_BACKEND_BUFFER_USAGE_WEIGHTS && ggml_backend_buffer_is_host(src->buffer)) {
             int src_backend_id = ggml_backend_sched_backend_from_buffer(sched, src, tensor);
             int src_backend_id = ggml_backend_sched_backend_from_buffer(sched, src, tensor);
             // check if a backend with higher prio wants to offload the op
             // check if a backend with higher prio wants to offload the op
             if (src_backend_id == sched->n_backends - 1) {
             if (src_backend_id == sched->n_backends - 1) {