From 69393170e11050d868f12c226ce25eacbe21a7d7 Mon Sep 17 00:00:00 2001 From: Frozenlock Date: Tue, 14 Jul 2026 14:08:00 -0400 Subject: [PATCH] ggml-backend-meta: fix device and buffer type names The constructors iterated the moved-from constructor parameter instead of the member of the same name, so every meta device and buffer type was named "Meta()". With a single meta device this is cosmetic, but code that distinguishes buffer types by name (e.g. the KV cache context map) breaks as soon as more than one meta device exists. --- ggml/src/ggml-backend-meta.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ggml/src/ggml-backend-meta.cpp b/ggml/src/ggml-backend-meta.cpp index 1f29ec86712..1d5ec411557 100644 --- a/ggml/src/ggml-backend-meta.cpp +++ b/ggml/src/ggml-backend-meta.cpp @@ -64,13 +64,14 @@ struct ggml_backend_meta_device_context { simple_devs(std::move(simple_devs)), get_split_state(get_split_state), get_split_state_ud(get_split_state_ud) { name = std::string("Meta("); description = std::string("Meta("); - for (size_t i = 0; i < simple_devs.size(); i++) { + // note: use the member, not the moved-from constructor parameter of the same name + for (size_t i = 0; i < this->simple_devs.size(); i++) { if (i > 0) { name += ","; description += ","; } - name += ggml_backend_dev_name (simple_devs[i]); - description += ggml_backend_dev_description(simple_devs[i]); + name += ggml_backend_dev_name (this->simple_devs[i]); + description += ggml_backend_dev_description(this->simple_devs[i]); } name += ")"; description += ")"; @@ -253,11 +254,12 @@ struct ggml_backend_meta_buffer_type_context { ggml_backend_meta_buffer_type_context(std::vector simple_bufts) : simple_bufts(std::move(simple_bufts)) { name = "Meta("; - for (size_t i = 0; i < simple_bufts.size(); i++) { + // note: use the member, not the moved-from constructor parameter of the same name + for (size_t i = 0; i < this->simple_bufts.size(); i++) { if (i > 0) { name += ","; } - name += ggml_backend_buft_name(simple_bufts[i]); + name += ggml_backend_buft_name(this->simple_bufts[i]); } name += ")"; }