From 5e7d95e22e386d316f7f659b74c9c34b65507912 Mon Sep 17 00:00:00 2001 From: Gabe Goodhart Date: Wed, 14 May 2025 06:53:59 -0600 Subject: [PATCH] fix: Move build_inp_pos to the top of the graph section for build_granite (#13538) This matches how others do it, but will still avoid the extra initialization when rope is disabled. Branch: GraniteFour Signed-off-by: Gabe Goodhart --- src/llama-model.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/llama-model.cpp b/src/llama-model.cpp index f652f4b8..7fd094b6 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -12218,6 +12218,9 @@ struct llm_build_granite : public llm_graph_context { // inp_pos - built only if rope enabled ggml_tensor * inp_pos = nullptr; + if (use_rope) { + inp_pos = build_inp_pos(); + } auto * inp_attn = build_attn_inp_kv_unified(); @@ -12260,10 +12263,6 @@ struct llm_build_granite : public llm_graph_context { Vcur = ggml_reshape_3d(ctx0, Vcur, n_embd_head, n_head_kv, n_tokens); if (use_rope) { - - if (!inp_pos) { - inp_pos = build_inp_pos(); - } ggml_tensor * rope_factors = model.get_rope_factors(n_ctx_per_seq, il); Qcur = ggml_rope_ext( ctx0, Qcur, inp_pos, rope_factors,