From a06ed5feaec9f935fbf662035b2673167bc88460 Mon Sep 17 00:00:00 2001 From: Diego Devesa Date: Thu, 31 Jul 2025 11:15:41 -0700 Subject: [PATCH] llama : add simple option to enable CPU for MoE weights (--cpu-moe) (#14992) --- common/arg.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/common/arg.cpp b/common/arg.cpp index 0a4a15e7f..cd8531191 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -2380,6 +2380,15 @@ common_params_context common_params_parser_init(common_params & params, llama_ex } } )); + add_opt(common_arg( + {"--cpu-moe"}, + "use CPU for Mixture of Experts (MoE) weights", + [](common_params & params) { + params.tensor_buft_overrides.push_back({"\\.ffn_up_exps\\.weight$", ggml_backend_cpu_buffer_type()}); + params.tensor_buft_overrides.push_back({"\\.ffn_down_exps\\.weight$", ggml_backend_cpu_buffer_type()}); + params.tensor_buft_overrides.push_back({"\\.ffn_gate_exps\\.weight$", ggml_backend_cpu_buffer_type()}); + } + ).set_env("LLAMA_ARG_CPU_MOE")); add_opt(common_arg( {"-ngl", "--gpu-layers", "--n-gpu-layers"}, "N", "number of layers to store in VRAM",