From 8fc3cee2ac8d5e48cce4e595efbe6c50de298a84 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Wed, 16 Sep 2026 16:42:05 +0300 Subject: [PATCH] meta : forward graph_optimize to underlying backends Assisted-by: pi:llama.cpp/DeepSeek-V4-Flash-Vision-Exp --- ggml/src/ggml-backend-meta.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/ggml/src/ggml-backend-meta.cpp b/ggml/src/ggml-backend-meta.cpp index 3ec40fb1af..7b78771640 100644 --- a/ggml/src/ggml-backend-meta.cpp +++ b/ggml/src/ggml-backend-meta.cpp @@ -2464,6 +2464,16 @@ static enum ggml_status ggml_backend_meta_graph_compute(ggml_backend_t backend, return GGML_STATUS_SUCCESS; } +static void ggml_backend_meta_graph_optimize(ggml_backend_t backend, struct ggml_cgraph * cgraph, struct ggml_backend_graph_optimize_params * params) { + ggml_backend_meta_context * ctx = (ggml_backend_meta_context *) backend->context; + + for (auto & bc : ctx->backend_configs) { + if (bc.backend->iface.graph_optimize) { + bc.backend->iface.graph_optimize(bc.backend, cgraph, params); + } + } +} + static const ggml_backend_i ggml_backend_meta_i = { /* .get_name = */ ggml_backend_meta_get_name, /* .free = */ ggml_backend_meta_free, @@ -2480,7 +2490,7 @@ static const ggml_backend_i ggml_backend_meta_i = { /* .graph_compute = */ ggml_backend_meta_graph_compute, /* .event_record = */ nullptr, /* .event_wait = */ nullptr, - /* .graph_optimize = */ nullptr, + /* .graph_optimize = */ ggml_backend_meta_graph_optimize, }; bool ggml_backend_is_meta(ggml_backend_t backend) {