Commit d1044bc82 for llama.cpp
commit d1044bc82712fbf08996080bef6298b24a27e9c7
Author: Tarek Dakhran <tarek@liquid.ai>
Date: Tue Nov 3 15:36:44 2026 +0100
model : enable NVFP4 LFM3 ggufs (#31608)
diff --git a/src/models/lfm-base.cpp b/src/models/lfm-base.cpp
index 0dabf114b..74944c13c 100644
--- a/src/models/lfm-base.cpp
+++ b/src/models/lfm-base.cpp
@@ -117,9 +117,9 @@ ggml_tensor * llm_build_lfm_base::build_lfm_dense_ffn(const llama_model & model,
GGML_ASSERT(!model.layers[il].ffn_gate_b);
GGML_ASSERT(!model.layers[il].ffn_down_b);
return build_ffn(cur,
- model.layers[il].ffn_up, NULL, NULL,
- model.layers[il].ffn_gate, NULL, NULL,
- model.layers[il].ffn_down, NULL, NULL,
+ model.layers[il].ffn_up, NULL, model.layers[il].ffn_up_s,
+ model.layers[il].ffn_gate, NULL, model.layers[il].ffn_gate_s,
+ model.layers[il].ffn_down, NULL, model.layers[il].ffn_down_s,
NULL, LLM_FFN_SILU, LLM_FFN_PAR, il);
}
@@ -136,5 +136,10 @@ ggml_tensor * llm_build_lfm_base::build_lfm_moe_ffn(const llama_model & model,
LLM_FFN_SILU, true,
hparams.expert_weights_scale,
static_cast<llama_expert_gating_func_type>(hparams.expert_gating_func),
- il);
+ il,
+ nullptr,
+ nullptr,
+ model.layers[il].ffn_up_exps_s,
+ model.layers[il].ffn_gate_exps_s,
+ model.layers[il].ffn_down_exps_s);
}
diff --git a/src/models/lfm2.cpp b/src/models/lfm2.cpp
index e18937faf..f7d4f95b0 100644
--- a/src/models/lfm2.cpp
+++ b/src/models/lfm2.cpp
@@ -399,9 +399,9 @@ llama_model_lfm2::graph_decision::graph_decision(const llama_model & model, cons
ggml_tensor * ffn_out = build_norm(cur, layer.ffn_norm, NULL, LLM_NORM_RMS, il);
ffn_out = build_ffn(ffn_out,
- layer.ffn_up, NULL, NULL,
- layer.ffn_gate, NULL, NULL,
- layer.ffn_down, NULL, NULL,
+ layer.ffn_up, NULL, layer.ffn_up_s,
+ layer.ffn_gate, NULL, layer.ffn_gate_s,
+ layer.ffn_down, NULL, layer.ffn_down_s,
NULL, LLM_FFN_SILU, LLM_FFN_PAR, il);
cur = ggml_add(ctx0, cur, ffn_out);
diff --git a/src/models/lfm3.cpp b/src/models/lfm3.cpp
index b74dea41b..20838f87f 100644
--- a/src/models/lfm3.cpp
+++ b/src/models/lfm3.cpp
@@ -129,7 +129,7 @@ llama_model_lfm3::graph<decision>::graph(const llama_model & model, const llm_gr
q, k, v, nullptr, nullptr, nullptr, 1.0f / sqrtf(float(n_embd_head)), il);
cb(attn_out, "attn_out", il);
- ggml_tensor * gate = build_lora_mm(model.layers[il].wqkv_gate, cur_in);
+ ggml_tensor * gate = build_lora_mm(model.layers[il].wqkv_gate, cur_in, model.layers[il].wqkv_gate_s);
gate = ggml_sigmoid(ctx0, gate);
cb(gate, "model.layers.{}.self_attn.gate", il);