Commit e2d2c0d6a for llama.cpp

commit e2d2c0d6aa9b996d5d3a3c1d5e24c8c19728bb3d
Author: Aaron Teo <aaron.teo1@ibm.com>
Date:   Wed Sep 9 16:46:22 2026 +0800

    model: fix granite3 moe unknown parameter count (#28632)

    Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>

diff --git a/src/llama-model.cpp b/src/llama-model.cpp
index 0adc07449..54009b369 100644
--- a/src/llama-model.cpp
+++ b/src/llama-model.cpp
@@ -935,6 +935,7 @@ const char * llm_type_name(llm_type type) {
         case LLM_TYPE_17B_16E:       return "17Bx16E (Scout)";
         case LLM_TYPE_17B_128E:      return "17Bx128E (Maverick)";
         case LLM_TYPE_A13B:          return "A13B";
+        case LLM_TYPE_1B_A400M:      return "1B.A400M";
         case LLM_TYPE_7B_A1B:        return "7B.A1B";
         case LLM_TYPE_8B_A1B:        return "8B.A1B";
         case LLM_TYPE_7_9B_A1_3B:    return "7.9B.A1.3B";
diff --git a/src/llama-model.h b/src/llama-model.h
index 4c4a30e01..c0cc40655 100644
--- a/src/llama-model.h
+++ b/src/llama-model.h
@@ -116,6 +116,7 @@ enum llm_type {
     LLM_TYPE_17B_16E, // llama4 Scout
     LLM_TYPE_17B_128E, // llama4 Maverick
     LLM_TYPE_A13B,
+    LLM_TYPE_1B_A400M, // Granite3 MoE
     LLM_TYPE_7B_A1B,
     LLM_TYPE_8B_A1B, // lfm2moe
     LLM_TYPE_7_9B_A1_3B, // Ling-3.0-tiny
diff --git a/src/models/granite-moe.cpp b/src/models/granite-moe.cpp
index 09be49393..156553edf 100644
--- a/src/models/granite-moe.cpp
+++ b/src/models/granite-moe.cpp
@@ -8,6 +8,7 @@ void llama_model_granite_moe::load_arch_hparams(llama_model_loader & ml) {
     ml.get_key(LLM_KV_ATTENTION_SCALE,             hparams.f_attention_scale, false);

     switch (hparams.n_layer()) {
+        case 24: type = LLM_TYPE_1B_A400M; break;
         case 32: type = LLM_TYPE_3B; break;
         case 40: type = LLM_TYPE_3B; break;
         // Add additional layer/vocab/etc checks here for other model sizes