Commit bc428e407 for llama.cpp

commit bc428e407a52bd3e21b5985cabeef57cdff9bc4a
Author: Tarek Dakhran <tarek@liquid.ai>
Date:   Sat Oct 31 23:40:50 2026 +0100

    llama : enable tensor split for LFM3 (#31431)

    Assisted-by: Claude Opus 5.5

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, "");
             }