diff --git a/ggml-sycl.cpp b/ggml-sycl.cpp index cc9ee0762..d6737c0e3 100644 --- a/ggml-sycl.cpp +++ b/ggml-sycl.cpp @@ -17392,7 +17392,7 @@ static ggml_backend_i ggml_backend_sycl_interface = { /* .graph_plan_compute = */ NULL, /* .graph_compute = */ ggml_backend_sycl_graph_compute, /* .supports_op = */ ggml_backend_sycl_supports_op, - /* .offload_op = */ NULL, + /* .offload_op = */ ggml_backend_sycl_offload_op, /* .event_new = */ NULL, /* .event_free = */ NULL, /* .event_record = */ NULL, @@ -17400,6 +17400,12 @@ static ggml_backend_i ggml_backend_sycl_interface = { /* .event_synchronize = */ NULL, }; +GGML_CALL static bool ggml_backend_sycl_offload_op(ggml_backend_t backend, const ggml_tensor * op) { + const int min_batch_size = 32; + return op->ne[1] >= min_batch_size && op->op != GGML_OP_GET_ROWS; + GGML_UNUSED(backend); +} + static ggml_guid_t ggml_backend_sycl_guid() { static ggml_guid guid = { 0x58, 0x05, 0x13, 0x8f, 0xcd, 0x3a, 0x61, 0x9d, 0xe7, 0xcd, 0x98, 0xa9, 0x03, 0xfd, 0x7c, 0x53 }; return &guid;