From bc428e407a52bd3e21b5985cabeef57cdff9bc4a Mon Sep 17 00:00:00 2001 From: Tarek Dakhran Date: Sat, 31 Oct 2026 23:40:50 +0100 Subject: [PATCH] llama : enable tensor split for LFM3 (#31431) Assisted-by: Claude Opus 5.5 --- src/llama-arch.cpp | 1 - src/llama-model.cpp | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/llama-arch.cpp b/src/llama-arch.cpp index 8a0d6b124..5b2318409 100644 --- a/src/llama-arch.cpp +++ b/src/llama-arch.cpp @@ -1375,7 +1375,6 @@ bool llm_arch_supports_sm_tensor(const llm_arch & arch) { case LLM_ARCH_NEMOTRON_H: case LLM_ARCH_NEMOTRON_H_MOE: case LLM_ARCH_GRANITE_HYBRID: - case LLM_ARCH_LFM3: case LLM_ARCH_MINIMAX_01: case LLM_ARCH_MINIMAX_M2: case LLM_ARCH_MINIMAX_M3: diff --git a/src/llama-model.cpp b/src/llama-model.cpp index c4a5b64fd..f45d30c38 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -591,7 +591,7 @@ struct ggml_backend_meta_split_state llama_meta_device_get_split_state(const str return get_tensor_config_impl(GGML_BACKEND_SPLIT_AXIS_1, "ssm_out.weight"); } if (std::regex_match(tensor_name, pattern_r_cache) || std::regex_match(tensor_name, pattern_s_cache)) { - if (ud->model->arch == LLM_ARCH_LFM2 || ud->model->arch == LLM_ARCH_LFM2MOE) { + if (ud->model->arch == LLM_ARCH_LFM2 || ud->model->arch == LLM_ARCH_LFM2MOE || ud->model->arch == LLM_ARCH_LFM3) { // the LFM2 shortconv block runs fully mirrored, so its conv state must be mirrored too return get_tensor_config_impl(GGML_BACKEND_SPLIT_AXIS_MIRRORED, ""); }